我正在使用VS来使用此功能加密某些数据:
public static byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
{
byte[] encryptedBytes = null;
// Set your salt here, change it to meet your flavor:
// The salt bytes must be at least 8 bytes.
byte[] saltBytes = new byte[] { 6, 99, 26, 12, 68, 22, 89, 12, 49, 55, 92, 82, 87, 86, 10, 75, 98, 122, 73 };
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 256;
var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);
AES.Mode = CipherMode.CBC;
using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);
cs.Close();
}
encryptedBytes = ms.ToArray();
}
}
return encryptedBytes;
}
我的问题是为什么当我将纯文本加密输出时只包含可以用任何文本处理器(如记事本)查看的可读字符,但是,如果要加密的数据来自包含特殊字符的文件,则输出现在还包含无法从文本处理器查看的特殊字符......为什么???
加密示例“hello” “fMIiLZzIKME2gTAarpQqP7y8kOjQvDS12lSOOBtaCbI =”
加密二进制数据的示例: “b!,〜à4ovƒº1úlÔÊjô†õ;>²Ñ)j |¹'åLÖN-nU + 5”
答案 0 :(得分:0)
答案 1 :(得分:0)
我找到了探测器...我是一个白痴......当输入是纯文本时我调用了Convert.ToBase64String函数......我没有看到这个。
对不起。
Thans