摘要: 1、struct转换为byte[] static byte[] StructToBytes(object structObj) { int size = Marshal.SizeOf(structObj); IntPtr buffer = Marshal.AllocHGlobal(size); try { ... 阅读全文
posted @ 2008-08-06 11:55 Dufe王彬 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 一个加密算法 据说此加密算法每次加密的结果都不同,但解密的结果相同 using System; namespace test001 { /** 对sSource,进行加密、解密操作。 @param sSource String :操作的字符串 @param iFlag int :操作类型 1-加密 2-解密 @return String :加密或解密后的字符串 ... 阅读全文
posted @ 2008-08-06 11:47 Dufe王彬 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 加解密 using System.Security.Cryptography; private static byte[] DESKey = new byte[] {11,23,93,102,72,41,18,12}; private static byte[] DESIV = new byte[] {75,158,46,97,78,57,17,36}; //加密函數: public stati... 阅读全文
posted @ 2008-08-06 11:46 Dufe王彬 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 完整:数据不被篡改; 安全:数据不被截获,或者截获也无法得到明文; 可靠:数据从真正的发送方而来,其他人无法伪造一个数据来欺骗接受方; 下面例子只解决了安全这个问题: 非对称算法使用的两个密钥有如下关系:使用公共密钥加密的信息只能被相应的私有密钥解密。因此,我首要求你给我发送你的公共密钥。在发送给我的途中可能有人会截取它,但是没有关系,因为他们只能使用该密钥给你的信息加密。我使用你的公共密... 阅读全文
posted @ 2008-08-06 11:46 Dufe王彬 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 哈希加密: MD5: byte[] data = new byte[DATA_SIZE]; // This is one implementation of the abstract class MD5. MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = md5.ComputeHash(data); SHA1: byte... 阅读全文
posted @ 2008-08-06 11:45 Dufe王彬 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 异或运算用^表示,对a,b两整数进行异或操作是当两数的二进制对应位置不同时,结果的该位为1,否则为0。 异或运算有一个性质: 当a^b=c,则c^b=a,即同一个数对a进行两次异或的结果还是a。 利用此性质可以简单的对字符串进行加密解密。 示例代码: private void button1_Click(object sender, EventArgs e) { ... 阅读全文
posted @ 2008-08-06 11:45 Dufe王彬 阅读(1134) 评论(0) 推荐(0) 编辑