Добрый день, я использовал google/tink для шифрования пароля для хранения в БД, выполнив следующие действия:
// 1. Generate the key material.
KeysetHandle keysetHandle =
KeysetHandle.generateNew(AeadKeyTemplates.AES128_GCM);
// 2. Get the primitive.
Aead aead = AeadFactory.getPrimitive(keysetHandle);
// 3. Use the primitive to encrypt a plaintext,
byte[] ciphertext = aead.encrypt(plaintext, aad);
В основном он преобразует пароль в байты, но когда я преобразовываю его в строку для хранения в БД, он сохраняет зашифрованный пароль в следующем формате: -�@~�k�D߶{�
.
Но я хочу сохранить пароль в формате 11As7737Cs9ue9oo09
, используя шифрование tink.
Есть ли способ сделать это?
PBKDF2
,Rfc2898DeriveBytes
,Argon2
,password_hash
,Bcrypt
или аналогичные функции. Суть в том, чтобы заставить злоумышленника потратить значительное время на поиск паролей методом грубой силы. - person zaph   schedule 09.05.2018