c# 几种常见的加密方法的实现

1.ACSII码加密

//ACSII码加密
    private static string ACSIIPWd(string rpwd)
    {
      string Ret;
      byte[] array = System.Text.Encoding.ASCII.GetBytes(rpwd);
      byte[] byteArray = new byte[array.Length];

      for (int i = 0; i < array.Length; i++)
      {
        int asciicode = (int)(array[i]);
        asciicode = asciicode + 1;
        byteArray[i] = (byte)asciicode;
      }
      System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
      string strCharacter = asciiEncoding.GetString(byteArray);
      Ret = strCharacter;
      return Ret;
    }

2.MD5加密

//MD5加密
    private static string MD5PWd(string rpwd)
    {
      string Ret;

      MD5 md5 = new MD5CryptoServiceProvider();
      byte[] palindata = Encoding.Default.GetBytes(rpwd);//将要加密的字符串转换为字节数组
      byte[] encryptdata = md5.ComputeHash(palindata);//将字符串加密后也转换为字符数组
      Ret = Convert.ToBase64String(encryptdata);
      return Ret;
    }

3.RSA加密

//RSA加密
    private static string RSAPWD1(string myKeyContainerName)
    {
      string ret = "";
      CspParameters cp = new CspParameters();
      cp.KeyContainerName = myKeyContainerName;
      RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);

      ret = rsa.ToXmlString(true);
      Console.WriteLine("Key is : \n" + rsa.ToXmlString(true));
      return ret;

    }

4.DES加密

//DES加密
    private static string DESPWD(string ciphertext)
    {
      string desPWD = "";
      byte[] buffer;
      DESCryptoServiceProvider DesCSP = new DESCryptoServiceProvider();

      MemoryStream ms = new MemoryStream();//先创建 一个内存流
      CryptoStream cryStream = new CryptoStream(ms, DesCSP.CreateEncryptor(), CryptoStreamMode.Write);//将内存流连接到加密转换流
      StreamWriter sw = new StreamWriter(cryStream);
      sw.WriteLine(ciphertext);//将要加密的字符串写入加密转换流
      sw.Close();
      cryStream.Close();
      buffer = ms.ToArray();//将加密后的流转换为字节数组
      desPWD = Convert.ToBase64String(buffer);//将加密后的字节数组转换为字符串

      return desPWD;
    }

以上就是c# 几种常见的加密方法的实现的详细内容,更多关于c# 加密的资料请关注我们其它相关文章!

(0)

相关推荐

  • C#中对称加密算法的踩坑日常记录

    1|0前言 有幸接触了一下传说中的对称加密算法3DES 感觉这些加密算法与我的工作是想去甚远的,一般没什么机会接触这些东西 今次了解了一下3DES这个对称算法 原理算不上明白,算是踩了C#中的一些坑吧 C#中对于密钥的处理比较奇怪,花费了一晚上一早上的时间才弄明白 期间偷窥了不少C#的源代码 下面由我娓娓道来 2|0简介 2|13DES算法命名 定义算法最早期的标准被放在ANS X9.52中并在1998年发布并将其描述为三重数据加密算法(简称TDEA),在ANSI X3.92中定义了该算法的三个

  • C# 数据库链接字符串加密解密工具代码详解

    有些项目尤其是WinForm或者是WPF项目,针对一些工具形式的小项目,不想软件流出去之后,懂程序的的拿到手之后一看配置文件就知道了我们数据库的用户名和密码,如果外网能访问的话,那就麻烦大了.所以这里为了防止项目外泄之后这些信息不被别人看到,我们就需要对链接字符串或者其他重要信息进行加密,用的时候在解密. 思路:使用两个数对连接字符串进行加密,再用这两个数进行解密. <add key="ConfigString" value="4HsXBRNXTkeN0ZoKdEwFE

  • C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)

    Spire.Cloud.SDK for .NET提供了接口PdfSecurityApi可用于加密.解密PDF文档.本文将通过C#代码演示具体加密及解密方法. 使用工具: Spire.Cloud.SDK for .NET Visual Studio 必要步骤: 步骤一: dll文件获取及导入.在程序中通过Nuget搜索下载,直接导入所有dll. 导入效果如下如所示: 步骤二: App ID及Key获取.在"我的应用"板块中创建应用以获得App ID及App Key. 步骤三: 源文档上传

  • C#使用RSA加密解密文件

    本文实例为大家分享了C#使用RSA加密解密文件的具体代码,供大家参考,具体内容如下 加密代码: //加密代码,注意会覆盖原文件,里面有我的公钥,你要用时记得覆盖我的公钥 private bool encryptFile(string filename) { FileStream f; try { f = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.Read); } catch { return f

  • C#中的那些常用加密算法

    前言 本文主要讲解一下C#常用的那些加密算法. 本文源码 本文所用源码均以为大家整理完毕,大家使用以下方式获取 需要的小伙伴,请关注微信公众号: 程序员零距离, 或者扫描下方公众号二维码,回复关键字:加密算法 , 即可获取本文所用的所有源码资源. 关注上方公众号,回复 加密算法获取 MD5加密 MD5加密是最常见的加密方式,因为MD5是不可逆的,所以很多系统的密码都是用MD5加密保存的. 虽然MD5是不可以解码的,但因为MD5加密的字符串是固定的,所以,理论上只需要建立一个庞大的数据库,把所有的

  • C#开发中常用的加密解密方法汇总

    相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法: 常见的加密方式分为可逆和不可逆两种方式 可逆:RSA,AES,DES等 不可逆:常见的MD5,SHAD等 一.MD5消息摘要算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的说就是单向的加密,也就是说无法根据密文推导出明文. MD5主要用途: 1.对一段信息生成信息摘要,该摘要对该信息具有唯一

  • C#开发中经常用的加密解密方法示例

    前言 相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法: 常见的加密方式分为可逆和不可逆两种方式 可逆:RSA,AES,DES等 不可逆:常见的MD5,SHAD等 一.MD5消息摘要算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的说就是单向的加密,也就是说无法根据密文推导出明文. MD5主要用途: 1.对一段信息生成信息摘要,该摘要对该信息具

  • c# AES字节数组加密解密流程及代码实现

    AES类时微软MSDN中最常用的加密类,微软官网也有例子,参考链接:https://docs.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.aes?view=netframework-4.8 但是这个例子并不好用,限制太多,通用性差,实际使用中,我遇到的更多情况需要是这样: 1.输入一个字节数组,经AES加密后,直接输出加密后的字节数组. 2.输入一个加密后的字节数组,经AES解密后,直接输出原字节数组. 对于我这个十八流

  • 利用C#实现SSLSocket加密通讯的方法详解

    前言 SSL Socket通讯是对socket的扩展,增加Socket通讯的数据安全性,SSL认证分为单向和双向认证.单向认证只认证服务器端的合法性而不认证客户端的合法性.双向认证是同时认证服务端和客户端.下面我分别说说使用C#实现单向认证和双向认证的过程,并用代码实现. 一. 单向认证 第1步:准备一个数字证书,可以使用如下脚本生成 先进入到vs2005的命令行状态,即: 开始–>程序–>Microsoft Visual Studio 2005–>Visual Studio Tools

  • c# rsa加密解密详解

    前言 RSA加密算法是一种非对称加密算法,简单来说,就是加密时使用一个钥匙,解密时使用另一个钥匙. 因为加密的钥匙是公开的,所又称公钥,解密的钥匙是不公开的,所以称为私钥. 密钥 关于RSA加密有很多文章,但几乎都只介绍了RSACryptoServiceProvider类的使用方法,如果只是走走看看,是没问题的,但真的想使用时,就会发现,你没有密钥字符串... 下面我们从获取密钥字符串开始逐步学习加密. 密钥字符串 每个安装过VisualStudio的电脑都可以找到一个文件-makecert.e

  • C#中RSA加密与解密的实例详解

    1.  RSA加密与解密  --  使用公钥加密.私钥解密 public class RSATool { public string Encrypt(string strText, string strPublicKey) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(strPublicKey); byte[] byteText = Encoding.UTF8.GetBytes

随机推荐