当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net实现的DES加密解密操作示例

asp.net实现的DES加密解密操作示例

2017年12月08日  | 移动技术网IT编程  | 我要评论

时空轨道河蟹动漫城,osmotics,古币收藏

本文实例讲述了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在线加密工具:

在线散列/哈希算法加密工具:

在线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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网