C#集成数据加密算法,包含DES、RSA、Base64、SHA、MD5算法,轻松实现数据加密解密需求

这篇具有很好参考价值的文章主要介绍了C#集成数据加密算法,包含DES、RSA、Base64、SHA、MD5算法,轻松实现数据加密解密需求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C#集成数据加密算法,包含DES、RSA、Base64、SHA、MD5算法

在需要使用配置文件的工控软件中,往往需要在配置文件和数据库中对一些数据加密,即对一串数据进行加密算法后输出复杂符号和字符的形式,让非相关人员无法识别原有数据,从而对数据或数据库进行相应的保护,这往往也是公司安全部门的基本要求。
网上写加密算法的文章很多,本人由于要在多项目中使用加密算法,本着怎么方便怎么来的原则,将网上的主流算法整理了一下,做成了dll类库,只要在新项目中加载类库,就能轻松的加密和解密数据,不用每次再去查找复制代码了,某种意义上也算一劳永逸了。
dll中包括了对称加密算法DES,非对称加密算法RSA,不可逆算法SHA、MD5,以及不能称为算法的Base64(因为不需要密匙,加密和解密简单,使用场合还是很多的),种类基本还是比较全的。至于几种算法的含义和具体原理,这里就不多说了,感兴趣的小伙伴可以上网搜下,这里只介绍使用案例,毕竟应用才是大部分小伙伴的迫切需求(毕竟时间有限,项目的紧迫让人很难追根究底,功能实现才是王道是不现实如此,勿喷~~~)。

一、项目创建

项目以winform为例,创建一个Winfrom项目,命名为EncryptionDemo,在依赖库中导入类库Encryption,Encryption类库的下载链接在文底。c# 加密类库,c#,算法,安全
在界面上简单画几个控件,做测试用,如下图:
c# 加密类库,c#,算法,安全

二、DES加密算法

DES,全称Data Encryption Standard,是一种对称加密算法,安全性比较高。
在加密DES_Encrypt和解密DES_Decrypt按钮下,分别简单的引用类库中的DES加密和解密方法。

      private void DES_Encrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox6.Text = EncryptionManager.DESEncrypt(textBox3.Text, textBox1.Text, textBox2.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void DES_Decrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox6.Text = EncryptionManager.DESDecrypt(textBox6.Text, textBox4.Text, textBox5.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

随后在界面上输入密匙、向量以及要加密的数据,点击DES_Encrypt按钮,在解密数据框中会得到加密后数据,如图。
c# 加密类库,c#,算法,安全
要解密的话只需要输入相同的密匙和向量,即会对解密数据框中的数据进行解密输出,如下图。
c# 加密类库,c#,算法,安全

二、RSA加密算法

按顺序下面是RSA算法,RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,多用于数据加密和数字签名。
同样的在加密RSA_Encrypt和解密RSA_Decrypt按钮下,引用Encryption类库中的RSA加密和解密方法。

      private void RSA_Encrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox10.Text = EncryptionManager.RSAEncryption(textBox9.Text,textBox7.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void RSA_Decrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox10.Text = EncryptionManager.RSADecrypt(textBox10.Text, textBox8.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

随后在界面上输入密匙容器的名字和需要加密的数据,点击RSA_Encrypt按钮,在解密数据框中会得到加密后数据,如图。
c# 加密类库,c#,算法,安全
同样需要解密的话,只需要输入相同的密匙容器,点击RSA_Decrypt按钮,就会对解密数据框中的数据进行解密,如图。

c# 加密类库,c#,算法,安全

三、Base64加密算法

Base64从本质来说,其实并不是加密算法,只是一种编码方式而已,Base64的"加解密"也不叫加密解密,而是编码解码,但是现在一般都把它归为加密算法。而且对安全级别不是要求很高的情况下,用它往往会比较合适,其实还是加解密方便,方便使用。
同样的在加密Base64_Encrypt和解密Base64_Decrypt按钮下,引用Encryption类库中的Base64加密和解密方法。

        private void Base64_Encrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox12.Text = EncryptionManager.Base64Encrypt(textBox11.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void Base64_Decrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox12.Text = EncryptionManager.Base64Decrypt(textBox12.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

随后在界面上只要输入加密的数据就可以了,点击Base64_Encrypt按钮,在解密数据框中会得到加密后数据,如图。
c# 加密类库,c#,算法,安全
需要解密的话,直接点击Base64_Decrypt按钮就行,就会对解密数据框中的数据进行解密,如图。
c# 加密类库,c#,算法,安全

四、SHA加密算法

SHA,全称SecureHashAlgorithm,是一种不可逆数据加密算法,无法解密,常用作数字签名来验证文件的有效性。
同样的在加密SHA_Encrypt按钮下,引用Encryption类库中的SHA加密方法,由于不能解密,就不设解密按钮了。

        private void SHA_Encrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox14.Text = EncryptionManager.SHA1Encrypt(textBox13.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

随后在界面上只要输入加密的数据就可以了,点击SHA_Encrypt按钮,在不可逆加密数据框中会得到加密后数据,如图。
c# 加密类库,c#,算法,安全

五、MD5加密算法

MD5全称是message-digest algorithm 5,简单的说就是单向的加密,也就是说无法根据密文推导出明文,也是一种不可逆加密算法。
同样的在加密MD5_Encrypt按钮下,引用Encryption类库中的MD5加密方法,同样由于不能解密,就不设解密按钮了。

        private void MD5_Encrypt_button_Click(object sender, EventArgs e)
        {
            try
            {
                textBox16.Text = EncryptionManager.MD5Encrypt(textBox15.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

随后在界面上同样只要输入加密的数据就可以了,点击MD5_Encrypt按钮,在不可逆加密数据框中会得到加密后数据,如图。
c# 加密类库,c#,算法,安全

结语

以上就是C#中几种加密算法的集成及应用介绍,运用十分简单,导入Encryption类库,傻瓜式引用指定的方法,就能轻松的加密解密数据。
Encryption类库下载地址:https://download.csdn.net/download/weixin_44239774/87266050
文中创建的demo,可以充当加密解密小工具使用,需要的可以前往以下链接下载:https://download.csdn.net/download/weixin_44239774/87266103
需要类库源代码的同学,也可以留下邮箱~~~文章来源地址https://www.toymoban.com/news/detail-769282.html

到了这里,关于C#集成数据加密算法,包含DES、RSA、Base64、SHA、MD5算法,轻松实现数据加密解密需求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# 采用3DES-MAC进行签名 base64解码与编码

    ** ** 3DES-MAC(Triple Data Encryption Standard Message Authentication Code)是一种消息认证码(MAC)算法,用于验证消息的完整性和真实性。3DES-MAC使用了3DES(Triple Data Encryption Standard)加密算法的一部分来生成MAC值。以下是使用C#示例演示如何使用3DES-MAC签名一个消息: 首先,你需要确保在

    2024年02月09日
    浏览(38)
  • 利用Base64加密算法将数据加密解密

    Base64准确来说并不像是一种加密算法,而更像是一种编码标准。 我们知道现在最为流行的编码标准就是ASCLL,它用八个二进制位(一个char的大小)表示了127个字符,任何二进制序列都可以用这127个字符表示出来。 而Base64则是用6个二进制位表示了64个字符,也就是说,任何的

    2024年04月09日
    浏览(94)
  • php常用加密算法大全aes、3des、rsa等

    目录 一、可解密加解密算法 1、aes 加解密算法 2、旧3des加解密方法  3、新3des加解密方法 4、rsa公私钥加解密、签名验签方法 5、自定义加密算法1  6、自定义加密算法2 7、自定义加密算法3 二、不可解密加密算法  1、md5算法  2、crypt算法 3、sha1算法 5、hash 算法 6、 password_ha

    2024年02月09日
    浏览(50)
  • 常见加密解密(DES、RSA)以及摘要算法MD5的介绍

    1.1-理解MD5 MD5公开的算法,任何语言实现后其实都是一样的、通用的 不可逆加密:原文——加密——密文,密文无法解密出原文 1.2-MD5封装 1.3-MD5总结 相同原文加密的结果是一样的 不同长度的内容加密后都是32位,可以自行改变长度 原文件改动差别很小,结果差别很大 不管文

    2024年02月14日
    浏览(91)
  • Python 基于pycryptodome,实现对AES、DES、3DES、RSA等常用加密算法的使用,文末附各种加密的源码示例

    (中文名:加密圆顶)pycryptodome是一个基于c实现的Python库,它在2.x中支持2.7以上版本,或3.x中支持3.5以上版本的Python。 可以使用以下命令安装它: 该库支持以下特性 认证加密模式 Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB) AES加密在英特尔上的加速 Accelerated AES on Intel platf

    2023年04月09日
    浏览(92)
  • 使用base64加密解密的多种方法:包含pc端和微信小程序

    1、pc端 Window 对象 Window 对象表示浏览器中打开的窗口。 平常在开发pc端浏览器的时候。如果要加密或者解密成为一个 base-64 编码的字符串。我们都可以使用Window 对象里的对象方法: atob() 解码一个 base-64 编码的字符串。 btoa() 创建一个 base-64 编码的字符串 我们可以直接在浏览

    2024年02月15日
    浏览(50)
  • base4解密(Base64加密算法)

    base64解密解码转换说明: 1、Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。 2、为了保

    2024年02月16日
    浏览(113)
  • 一种DES和RSA混合加密的通信系统

    目录 0 引言 1 RSA和DES原理概述 1.1 DES算法 1.2 RSA算法 2 系统架构 3 实验及结果分析 3.1 RSA加密传送密钥 3.2 DES加密通信内容 4 总结 参考文献 参考代码: 缺陷:引言总结前人观点不够精炼,还需要简述本文和前人工作的关系。另外,需要描述解决对称密钥分发的过程,使得内容

    2024年02月04日
    浏览(46)
  • BASE64算法原理解析之C#实现

    1. BASE64算法原理: base64编码规则      A.采用64个基本的ASCII码字符对数据进行重新编码     B.将要编码字符串拆分成字节数组,以 3个字节为一组 。 按顺序排列24 位数据 ,    C.把24位数据分成4组,每组6位,每组最高位前补两个0凑足一个字节,         3字节为一组的数据重新

    2024年02月15日
    浏览(44)
  • 国密算法签名与加密结果字节长度变化及Hex与Base64编码长度变化

    有很多应用场景,数据通常经过加密和编码后传输,有时我们需要知道经过处理后的数据的长度,此时就需要分析各种算法的数据处理策略,及结果变化。下边主要介绍国密SM2算法签名与加密结果字节长度变化及Hex与Base64编码长度变化。 1,ASCII码:一个英文字母(不分大小写

    2024年02月02日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包