Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
<ph type="x-smartling-placeholder">
En commençant par les bases, voici une définition informelle du registre:
Mais :
Cela dit, il peut être utile de comprendre ce cours afin de
avec Tink efficacement pour le moment.
Que se passe-t-il lorsque vous appelez getPrimitive() sur un handle de collection de clés ? Elle transfère votre
au registre1, qui contient des objets avec des méthodes concrètes pour créer
et des primitives, comme
Clé AesGcm ou une instance ChunkedMac. La tâche du registre est de transférer l'appel
à l'objet adéquat. Cela ne fonctionne que si l'objet est enregistré. C'est pourquoi
il est important de toujours enregistrer les primitives que vous allez utiliser.
Mais que se passe-t-il si j'utilise une bibliothèque qui a déjà enregistré les primitives dont j'ai besoin ?
C'est précisément le problème. C'est l'une des raisons pour lesquelles le Registre est supprimé.
Car, dans ce cas, votre code ne fonctionne
que jusqu'à ce que les auteurs de la bibliothèque décident
n'enregistre plus cette primitive. À ce stade, votre code est défaillant.
n'est pas évidente et prête à confusion. Par conséquent, enregistrez toujours ce que vous
utiliser. Par exemple, si vous souhaitez utiliser MAC dans votre code Java, vous devez
lors de la phase de configuration:
MacConfig.register()
Ce code garantit que tous les objets nécessaires sont enregistrés dans
les endroits nécessaires pour utiliser
la primitive MAC.
Il y a un autre aspect à ce problème. Certaines de vos dépendances
peuvent enregistrer
des choses dont vous n’avez réellement pas besoin
et vous préférez ne pas dépendre. C'est
une autre raison de supprimer
le registre global.
à l'instance du singleton global de la classe Registry, pour plus de précision. Nous utilisons le nom "Registre" pour les deux, la classe et le singleton. ↩
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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,[]]