字符串加密解密函数 (C#) (转)

字符串加密解密函数 (C#)

using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;

//默认密钥向量
private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
/// <summary>
/// DES加密字符串
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="encryptKey">加密密钥,要求为8位</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
public static string EncryptDES(string encryptString, string encryptKey)
{
    try
    {
        byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
        byte[] rgbIV = Keys;
        byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
        DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
        MemoryStream mStream = new MemoryStream();
        CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
        cStream.Write(inputByteArray, 0, inputByteArray.Length);
        cStream.FlushFinalBlock();
        return Convert.ToBase64String(mStream.ToArray());
    }
    catch
    {
        return encryptString;
    }
}

/// <summary>
/// DES解密字符串
/// </summary>
/// <param name="decryptString">待解密的字符串</param>
/// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>
public static string DecryptDES(string decryptString, string decryptKey)
{
    try
    {
        byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
        byte[] rgbIV = Keys;
        byte[] inputByteArray = Convert.FromBase64String(decryptString);
        DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
        MemoryStream mStream = new MemoryStream();
        CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
        cStream.Write(inputByteArray, 0, inputByteArray.Length);
        cStream.FlushFinalBlock();
        return Encoding.UTF8.GetString(mStream.ToArray());
    }
    catch
    {
        return decryptString;
    }
}

0
0

0

(请您对文章做出评价)

posted on 2010-01-28 10:14 guofu 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/saptechnique/archive/2010/01/28/1658108.html

字符串加密解密函数 (C#) (转)相关推荐

  1. 加密解密php,2个比较经典的PHP加密解密函数分享

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些AP ...

  2. php动态密码和加密解密函数的使用(动态密码、Discuz核心函数AuthCode、任意输入密码验证)

    php加密解密的使用 一.项目说明 二.项目分析 1.js外部文件 2.HTML容器构建 3.layui前端验证 4.php后端验证 封装函数 密码验证规则 strpos内置函数 三.经典的核心加密函 ...

  3. 各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)

    普通hash函数如md5.sha1.base64等都是不可逆函数.虽然我们利用php可以利用这些函数写出可逆函数来.但是跨语言时这类可逆函数非常难搞定.所以这时尽量使用AES DES RC4 Rabb ...

  4. JavaScript 自写加密解密函数

    JavaScript 自写加密解密函数 版权声明:本文为CSDN博主「zshsats」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https:// ...

  5. 介绍几个PHP 自带的加密解密函数

    PHP 自带的加密解密函数 目前经常使用的加密函数有:md5(), sha1(), crypt(), base64_encode(), urlencode() . 其中 md5(), sha1(), ...

  6. php中的base64,php中base64_decode与base64_encode加密解密函数

    php中base64_decode与base64_encode加密解密函数,实例分析了base64加密解密函数的具体用法,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了php中base64_ ...

  7. 【C 语言】文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )

    文章目录 一.导入第三方库头文件 二.头文件说明 1.兼容 C++ 语言 2.头文件导入限制 3.加密解密函数说明 一.导入第三方库头文件 对文件进行加密 , 将文件中的数据分成若干块 , 一块一块的 ...

  8. java string 加密_java字符串加密解密

    java字符串加密解密 try { String test = "123456789@fdj.com"; EncryptionDecryption des = new Encryp ...

  9. php可逆加密解密函数,php 好用可逆的 加密解密 函数。

    php 好用可逆的加密解密函数. function encode($content, $key = 'pass' ) { // 加密数据的函数 , 主要进行移位操作 $key = md5($key); ...

最新文章

  1. 【bzoj 4059】Non-boring sequences
  2. JS编程建议——42:用好正则表达式静态值
  3. PHP二维数组去重(指定键名)
  4. java基础---流程控制
  5. 【转】WebApi 身份认证解决方案:Basic基础认证
  6. 设计模式- 创建型模式, 建造者模式(2)
  7. 信息学奥赛一本通 1087:级数求和 | 1918:【02NOIP普及组】级数求和 | OpenJudge NOI 1.5 27
  8. mysql in and in_完美解决mysql in条件语句只读取一条信息问题的2种方案
  9. select .. into输出单/多行
  10. 什么是javaEE、什么是JavaSE、什么是javaME?
  11. RICOH 身份证 便捷打印
  12. 卸载驱动、安装CUDA及CUDNN
  13. 关于USGS 共享光谱库读取问题
  14. 前端常用PS技巧总结之更换图片背景颜色
  15. 【xlwings api语言参考】Worksheet.Cells 属性
  16. ctrypto-js中,DES解密的iv向量处理
  17. Cousera Recommender System专项课程 Assignment2
  18. 微型计算机原理中BX是什么,微型计算机原理第7章答案
  19. 一文讲清:对象存储、文件存储、块存储。绝对好文
  20. 美团技术总结:Java中9种常见的CMS GC问题分析与解决

热门文章

  1. StackedGAN详解与实现(采用tensorflow2.x实现)
  2. 霍夫曼算法_霍夫曼编码算法
  3. HQL –Hibernate查询语言–示例教程
  4. Android版式– LinearLayout,RelativeLayout
  5. 最常使用的css 工具_使用这些非常有用CSS工具更快地实施网站设计
  6. Linux中的mce处理--mce学习笔记
  7. Python写数据结构:栈(顺序存储结构)
  8. 刚大学毕业,学习的C++,到底能做什么?
  9. Java基础篇:如何解决成员的访问和继承?
  10. 第二单元总结——多线程设计