编辑。
我想我在加密/解密方法中创建正确的输入时遇到了问题:这些代码行可以解决这个问题:
string encrypted = en.Encrypt(stringBuilder.ToString(), "username", "password");
string decrypted = en.Decrypt(encrypted, "username", "password");
mainWindow.ChangeTextBox = encrypted + Environment.NewLine + decrypted;
我正在玩弄并试图弄清楚使用AES如何加密/解密。我指的是article(非常复制和粘贴:(试图学习)。
他们给了我完整的加密/解密方法,我试图修改它们。我试图传递一个由ArrayList创建的条目列表,然后与字符串构建器绑定。看起来我能够加密数据,但解密会导致错误:
Length of the data to decrypt is invalid.
与代码一致:
ByteCount = CryptoStream.Read(PlainTextBytes, 0, PlainTextBytes.Length);
如何实现此代码对我的程序有用并正常工作?
问候。
答案 0 :(得分:1)
我是否正确它导致空字符串或空字符串作为明文? ;-)
"lol1"
无法解密,因为它不是有效的密文长度(填充!) 并不是说没有任何意义。
答案 1 :(得分:1)
我没有仔细查看代码,但似乎调用Encrypt
和Decrypt
的参数顺序与方法的定义不匹配。在对这些方法的调用中,您似乎有用户名,密码,plain / cyphertext ;而这些方法的签名是 plain / cyphertext,password,username 。