针对文件二进制数据进行异或编码
Byte(原始) 异或 key(秘钥) = Byte(加密后),Byte(加密后) 异或 key(秘钥) = Byte(原始)
/// <summary>
/// 文件加密
/// </summary>
public static void EncryptFile(ref byte[] bytes)
{
var k = keys;
for (var i = 0; i < bytes.Length; ++i)
{
var a = k[(k.Length + i) % k.Length];
bytes[i] = (byte)(a ^ bytes[i]);
}
}
/// <summary>
/// 文件解密
/// </summary>
public static void DeEncrypthFile(byte[] bytes, System.IO.FileStream output)
{
var k = keys;
for (var i = 0; i < bytes.Length; ++i)
{
var a = k[(k.Length + i) % k.Length];
output.WriteByte((byte)(a ^ bytes[i]));
}
}
keys = byte[]
值是固定的
这种加密,特点是快速高效,但是容易被破解











网友评论