如何创建密钥和iv,使加密的字符串应该只包含数字,而characters.key字符串和iv字符串应该包含32 characters.purpose是加密的字符串不应该包含任何特殊的characters.block大小是256。现在我使用key和iv,就像this.after加密一样使用这个,用特殊的characters.how得到加密的字符串可以避免这种情况。
AES_Key=PSVJQRk9QTEpNVU1DWUZCRVFGV1VVT0ZOV1RRU1NaWQ=
Aes_iv=YWlFLVEZZUFNaWlhPQ01ZT0lLWU5HTFJQVFNCRUJZVA=
发布于 2012-04-26 00:44:49
您需要对输出进行Base64编码。这将确保它只是可打印的ASCII,并且是存储/传输加密数据的标准。
你希望你的钥匙和静脉输液是完全随机的。仅仅因为键中没有特殊字符,并不意味着在输出中不会有特殊字符。这绝对没有相关性。看起来你的密钥和IV都是base64编码的。确保您使用的是原始密钥和IV密钥。
下面是如何在C#中实现这一点。假设您的AES输出是一个字节数组:
string encoded = System.Convert.ToBase64String(aesOutput);如果它是一个字符串:
byte[] encodedBytes = System.Text.Encoding.ASCII.GetBytes(aesOutput);
string base64encoded = System.Convert.ToBase64String(encodedBytes);您可以使用System.Convert.FromBase64String(encodedData)将其转换回其原始输出。
https://stackoverflow.com/questions/10319984
复制相似问题