В соответствии с концепцией метода циклической прогулки в Шифровании с сохранением формата (FPE) следующим образом. Скажем, M - это желаемая длина строки вывода, X - обычный текст
AES(X)=Y
if (Y>M) {
AES(X)
}
Мы выполняем этот цикл до тех пор, пока не получим желаемый результат.длина.Но когда я попытался сделать это, написав цикл поверх кода шифрования AES, длина зашифрованной строки увеличивается с каждым разом.Чего мне не хватает?
main()
{
String strToEncrypt = "012345678";
final String strPssword = "QWERTYUIOPASDFGH";
AES.setKey(strPssword);
for(int i=0;i<20;i++)
{
AES.encrypt(strToEncrypt.trim());
System.out.println("String to Encrypt: " + strToEncrypt);
System.out.println("Encrypted: " + AES.getEncryptedString());
strToEncrypt = AES.getEncryptedString();
}
}
Результат, который я получил:
String to Encrypt: 012345678
Encrypted: /a+WAzyVsLRkWXtQu1RFrw==
String to Encrypt: /a+WAzyVsLRkWXtQu1RFrw==
Encrypted: K2DVyvglFSGncoTvl7al00cPzKdRyGkW/YTOTqXp3sk=
String to Encrypt: K2DVyvglFSGncoTvl7al00cPzKdRyGkW/YTOTqXp3sk=
Encrypted: I7CBulv5XdEaSX55wFlXFHgtmwFZO6GZvmZ+OrH8jSRSga7NhdG6bYXEwR90YzSI
Но я пытаюсь найти то, что после некоторого количества итераций длина выходной зашифрованной строки должна быть равнадлина входной строки "012345678"