我使用VS使用該功能的一些數據進行加密:AES256加密,根據輸入輸出字符...爲什麼?
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;
}
我的問題是,爲什麼當我把純文本輸出僅加密包含可與記事本等任何文字處理器觀看可讀字符,但是,如果要加密的數據來自包含特殊字符的文件,則輸出現在還包含無法從文本處理器查看的特殊字符......爲什麼?
加密的實施例 「你好」 「fMIiLZzIKME2gTAarpQqP7y8kOjQvDS12lSOOBtaCbI =」 加密的二進制數據的
示例: 「!B,~à4ovƒº1úlÔÊJô†O;>²Ñ)j|¹'åüLÖN-NU + 5」
請從標籤中刪除「Cypher」。該標籤與[Cypher查詢語言](https://neo4j.com/developer/cypher-query-language/)相關。 –