키 입력 값 (키 = 값 & 키 = 값 ...) 및 키 (예 : D2335A9CA4924D9F914D2B47B450D436) AES 암호화를 사용하여 문자열을 암호화해야하지만 결과가 공급자의 문자열과 동일하지 않습니다. 결과. 결과 예 : AD0C66FB3C1204A8B0AC68AA9B9E3029C86DFF5872753F2F8D7B68EA667D8616215C20F831ABD5A4D56F286E471651AE5C15BCEB2F368200B4D9F3F6D2F0791E8F45D45FD은 .................... 내가 잘못 을하고있어 무엇? (googlized 코드)AES C# 인코딩. 유효한 결과를 얻을 수 없습니다.
public static string Encrypt(string toEncrypt)
{
byte[] keyArray = ASCIIEncoding.ASCII.GetBytes("D2335A9CA4924D9F914D2B47B450D436");
byte[] toEncryptArray = ASCIIEncoding.ASCII.GetBytes(toEncrypt);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.KeySize = 128;
rDel.BlockSize = 256;
rDel.IV = keyArray;
rDel.Mode = CipherMode.CFB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return FormatByteArray(resultArray);
}
internal static string FormatByteArray(byte[] b)
{
System.Text.StringBuilder sb1 = new System.Text.StringBuilder();
int i = 0;
for (i = 0; i < b.Length; i++)
{
if (i != 0 && i % 16 == 0)
sb1.Append("\n");
sb1.Append(System.String.Format("{0:X2} ", b[i]));
}
return sb1.ToString();
}
아마도 16 진수가 아닌 64 진수일까요? 그렇다면 http://stackoverflow.com/questions/311165/how-do-you-convert-byte-array-to-hexadecimal-string-and-vice-versa-in-c –
@adrift, 예, I를 참조하십시오. 이미 편집 중이 었어. 그리고 그 링크도 도움이됩니다. –
감사합니다. 나는 이것을했지만 어쨌든 결과는 정확하지 않습니다. 그리고이 코드를 빌드하면 새로운 결과를 가져옵니다. 일부 매개 변수는 동적이라고 생각합니다. – Ars