Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Começando pelo básico, veja uma definição informal de Registry:
Mas:
Dito isso, pode ser útil entender essa aula para trabalhar
com o Tink por enquanto.
O que acontece quando você chama getPrimitive() em um identificador de conjunto de chaves? Ele encaminha
chamar o Registro1, que contém objetos com métodos concretos para criar
chaves e primitivos, como um
AesGcm ou uma instância ChunkedMac. A tarefa do Registro é encaminhar a chamada
ao objeto correto. Isso só funciona se o objeto estiver registrado. Por isso,
é importante sempre registrar os primitivos que você vai usar.
Mas e se eu usar uma biblioteca que já registrou os primitivos necessários?
Esse é o problema. E um dos motivos para a remoção do Registry.
Porque nesse caso seu código só funciona até que os autores da biblioteca decidam
não registrar mais esse primitivo. Nesse ponto, seu código será corrompido e a
não óbvia e confusa. Portanto, sempre registre o que você
usar. Por exemplo, se você pretende usar o MAC no seu código Java, faça
os seguintes itens na fase de configuração:
MacConfig.register()
Esse código garante que todos os objetos necessários sejam registrados no
locais necessários para usar o primitivo MAC.
Existe mais um lado nesse problema. Algumas dependências podem registrar
coisas de que realmente não precisa e das quais prefere não depender. Isso é
outro motivo para remover o registro global.
para a instância global de singleton da classe Registry. Usamos o nome "Registry" para a classe e o singleton, de forma intercambiável. ↩
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-25 UTC."],[[["\u003cp\u003eThe Registry in Tink is a global entity responsible for generating new keys and primitives, but it is intended for internal use only and is slated for removal.\u003c/p\u003e\n"],["\u003cp\u003eThe Registry forwards calls from \u003ccode\u003egetPrimitive()\u003c/code\u003e to objects that create keys and primitives, and these objects must be registered for the process to work.\u003c/p\u003e\n"],["\u003cp\u003eIt's essential to explicitly register the primitives you intend to use (e.g., \u003ccode\u003eMacConfig.register()\u003c/code\u003e), to ensure your code works consistently and doesn't rely on the unpredictable behavior of other libraries.\u003c/p\u003e\n"],["\u003cp\u003eRelying on other libraries to register primitives can lead to unexpected code breakage if the library's registration practices change, making it crucial to self-manage registrations.\u003c/p\u003e\n"]]],["The Registry is a global entity in Tink for generating keys and primitives, but it's slated for removal and should not be directly accessed. `getPrimitive()` calls are forwarded to the Registry, which then creates the correct object, if registered. It is crucial to register the primitives one intends to use directly, using method like `MacConfig.register()`, because relying on library registration leads to code fragility and unwanted dependencies. The class is considered for removal.\n"],null,[]]