上午使用下面的AES算法代碼來加密給定的文本。AES算法中的加密文本太大
string EncryptionKey = "abc";
string originalText = "Original text";
byte[] clearBytes = Encoding.ASCII.GetBytes(originalText);
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(clearBytes, 0, clearBytes.Length);
cs.Close();
}
string encryptedText = Convert.ToBase64String(ms.ToArray());
}
}
輸出:
XBqY9wBUpAa + ly7P2cdZBQ ==
如果i升高的原始文本的字符,則該加密文本尺寸也在增加。
例如:
輸入:
原始文本長度增加
輸出:
RU3azV4sslgUWFSoCKxdKHN/qDCEcKX N/tCFa80Bcmu1O418T/CGRZc3mIzx0f2Q
結果字符串不應該根據輸入文本增加。這個怎麼做?
OP可能只是想要一個散列算法,並不知道正確的話來解釋他想要什麼。 –
「*雖然它仍然會隨着輸入文本的增長而增長,出於同樣的原因,我給出了上述*」 - 散列算法**不會隨着輸入文本的增長而增長。它有固定長度的輸出。 –
垃圾,你說得對。固定。 – nmg49