Когда контекст шифрования предоставляется в запросе на шифрование, он криптографически привязан к зашифрованному тексту, так что тот же контекст шифрования требуется для дешифрования (или дешифрования и повторного шифрования) данных. Если контекст шифрования, указанный в запросе дешифрования, не является точным совпадением с учетом регистра, запрос дешифрования не выполняется. Может изменяться только порядок пар контекста шифрования.
Однако в примере кода JAVA SDK, в нем не указывается контекст шифрования при расшифровке.
crypto.decryptString (пров, зашифрованный текст);
Эти два сообщения кажутся мне немного противоречивыми, поскольку я думаю, что пользователь дешифрования должен предоставить контекст шифрования самостоятельно. Я проверил исходный код AwsCrypto.decryptString(final CryptoMaterialsManager provider, final String ciphertext))
в sdk, и кажется, что контекст шифрования также содержится в зашифрованном тексте.
Могу я узнать, почему это так?