asp.net实现的DES加密解密操作示例
程序员文章站
2023-10-30 14:35:34
本文实例讲述了asp.net实现的des加密解密操作。分享给大家供大家参考,具体如下:
//加密方法
private string encrypt(string...
本文实例讲述了asp.net实现的des加密解密操作。分享给大家供大家参考,具体如下:
//加密方法 private string encrypt(string strtoencrypt) { if (strtoencrypt == null || strtoencrypt == "") return strtoencrypt; descryptoserviceprovider des = new descryptoserviceprovider(); //把字符串放到byte数组中,主意编码方式 byte[] inputbytearray = encoding.default.getbytes(strtoencrypt); //建立加密对象的密钥和偏移量 des.key = new byte[] { 1, 3, 5, 7, 2, 4, 6, 8 }; des.mode = ciphermode.ecb; memorystream ms = new memorystream(); cryptostream cs = new cryptostream(ms, des.createencryptor(), cryptostreammode.write); cs.write(inputbytearray, 0, inputbytearray.length); cs.flushfinalblock(); stringbuilder ret = new stringbuilder(); foreach (byte b in ms.toarray()) { ret.appendformat("{0:x2}", b); } return ret.tostring(); } //解密方法 private string decrypt(string ptodecrypt) { if (ptodecrypt == null || ptodecrypt == "") return ptodecrypt; try { descryptoserviceprovider des = new descryptoserviceprovider(); //put the input string into the byte array byte[] inputbytearray = new byte[ptodecrypt.length / 2]; for (int x = 0; x < ptodecrypt.length / 2; x++) { int i = (convert.toint32(ptodecrypt.substring(x * 2, 2), 16)); inputbytearray[x] = (byte)i; } //key des.key = new byte[] { 1, 3, 5, 7, 2, 4, 6, 8 }; ; //des.iv = asciiencoding.ascii.getbytes(skey); des.mode = ciphermode.ecb; memorystream ms = new memorystream(); cryptostream cs = new cryptostream(ms, des.createdecryptor(), cryptostreammode.write); cs.write(inputbytearray, 0, inputbytearray.length); cs.flushfinalblock(); //建立stringbuild对象,createdecrypt使用的是流对象,必须把解密后的文本变成流对象 stringbuilder ret = new stringbuilder(); return system.text.encoding.default.getstring(ms.toarray()); } catch (exception exp) { return string.empty; } }
ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含aes、des、rc4等):
md5在线加密工具:
http://tools.jb51.net/password/createmd5password
在线散列/哈希算法加密工具:
在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:
在线sha1/sha224/sha256/sha384/sha512加密工具:
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net操作json技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作xml技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。