Unity文件二进制加密

2022-06-23  本文已影响0人  CERI_CHANNEL

针对文件二进制数据进行异或编码
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[]
值是固定的
这种加密,特点是快速高效,但是容易被破解

上一篇 下一篇

猜你喜欢

热点阅读