专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » 二进制异或:利用 2进制数据的XOR(异或)运算进行加/解密 »正文

二进制异或:利用 2进制数据的XOR(异或)运算进行加/解密

来源: 发布时间:星期五, 2009年2月20日 浏览:0次 评论:0


1.利用 2进制数据XOR(异或)运算进行加/解密

2.原理:当个 2进制数A和另个 2进制数B进行异或运算会生成另个 2进制数C如果再将C和B进行异或运算则C又会还原为A

3.如下:

using ;



///

///必须要命名空间
using .Text;
using .Security.Cryptography;




public Encrypt
{
/// <summary>
/// 加密
/// </summary>
/// <param name="str">待加密明文串</param>
/// <param name="key">密钥</param>
/// <s>加密后串</s>
public EncryptString( str, key)
{
bStr=( UnicodeEncoding).GetBytes(str);
bKey=( UnicodeEncoding).GetBytes(key);

for( i=0; i<bStr.Length; i2)
{
for( j=0; j<bKey.Length; j2)
{
bStr[i] = Convert.ToByte(bStr[i]^bKey[j]);
}
}

( UnicodeEncoding).GetString(bStr).TrimEnd('\0');
}

/// <summary>
/// 解密
/// </summary>
/// <param name="str">待解密密文串</param>
/// <param name="key">密钥</param>
/// <s>解密后明文</s>
public DecryptString( str, key)
{
EncryptString(str,key);
}


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: