`

双向加密

阅读更多
(string strSource)方法用来对比比较重要的信息进行加密
Dencrypting(string source)方法将已加密的信息进行解密

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

public static string Encrypting(string strSource)
    {
        byte[] bytln = System.Text.Encoding.Default.GetBytes(strSource);
        byte[] iv = {102,16,93,156,78,4,218,32 };//定义偏移量
        byte[] key = {55,103,246,79,36,99,167,3 };//定义密钥
        //实例DES加密类
        DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();
        mobjCryptoService.Key = iv;
        mobjCryptoService.IV = key;
        ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();
        //实例MemoryStream流加密文件
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        CryptoStream cs = new CryptoStream(ms,encrypto ,CryptoStreamMode.Write );
        cs.Write(bytln ,0,bytln.Length );
        cs.FlushFinalBlock();
        return System.Convert.ToBase64String(ms.ToArray ());
        
    }

    public static string Dencrypting(string source)
    {
        try
        {
            //将解密字符串转成字节数组
            byte[] bytln = System.Convert.FromBase64String(source);
            byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定义偏移量
            byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定义密钥        
            DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();
            mobjCryptoService.Key = iv;
            mobjCryptoService.IV = key;        
            //实例流进行解密
            System.IO.MemoryStream ms = new System.IO.MemoryStream(bytln ,0,bytln .Length );
            ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor();
            CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
            StreamReader strd = new StreamReader(cs, Encoding.Default);
            return strd.ReadToEnd();
        }
        catch (Exception ex)
        {
            throw new Exception("在文件解密的时候出现错误"+ex.Message );
        }
    }

分享到:
评论

相关推荐

    netty案例,netty4.1中级拓展篇十三《Netty基于SSL实现信息传输过程中双向加密验证》源码

    netty案例,netty4.1中级拓展篇十三《Netty基于SSL实现信息传输过程中双向加密验证》源码 ...

    手机端RSA和AES双向加密

    手机端的RSA和AES双向加密是两种常用的安全技术,用于保护这些数据不被非法获取和利用。 **RSA算法** RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它基于大数因子分解的数学难题。在RSA中,存在两个密钥:...

    RSA和AES双向加密

    在IT行业中,加密技术是确保数据安全的重要手段。本文将深入探讨两个常见的加密算法:RSA和AES,并结合Android和Java平台上的应用实例进行讲解。在提供的文件列表中,我们可以看到与这些主题相关的类,如Base64Util...

    netty实现SSL/TSL双向加密认证示例

    在本文中,我们将深入探讨如何使用 Netty 实现 SSL/TLS(Secure Sockets Layer/Transport Layer Security)双向加密认证。SSL/TLS 是互联网上广泛采用的安全通信协议,确保数据在网络传输过程中保持私密性和完整性。...

    C#流式双向加密类,可随时调用的算法类

    在本文档中编写了一个双向流式加密类,它不像MD5那样只向一个方向加密而不能解密,这段coding代码是可以在加密之后利用类函数反向解密的,它的加密性能好,加密之后生成byte型的数据,难以破解,当然,在你需要的...

    java使用bouncycastle实现椭圆曲线(ECC)双向加密解密

    下面我们将详细探讨如何使用Bouncy Castle库来实现ECC的双向加密解密。 1. **椭圆曲线加密原理**: 椭圆曲线加密算法基于椭圆曲线上的数学运算,包括加法和乘法。ECC的关键在于选择一个合适的曲线和基点,然后生成...

    DES双向加密

    双向加密指的是既能进行加密也能进行解密的过程,DES正好满足这一特性。在给定的场景中,"DES双向加密"的Java实现用于在存储数据到数据库之前加密数据,而在获取数据时则进行解密,确保了数据的安全性。 首先,我们...

    keytool实现服务端和客户端双向加密

    ### keytool实现服务端和客户端双向加密 在现代网络通信中,数据安全至关重要。通过使用密钥管理和证书机制,可以确保服务端与客户端之间数据传输的安全性。本文将详细介绍如何利用`keytool`工具实现服务端和客户端...

    文件夹双向加密同步工具syncrypto.zip

    双向加密同步 加密文件与明文文件是一一对应的关系 灵活的同步规则配置(方便将某些不必要同步的文件排除) 同时支持 Python2,Python3, Windows, Linux, OS X ...

    电子功用-基于双向加密认证技术和通信技术的电子锁控制管理系统和方法

    《电子功用:基于双向加密认证技术和通信技术的电子锁控制管理系统和方法》 电子锁控制管理系统是现代科技在安全领域的具体应用,它结合了先进的双向加密认证技术和通信技术,为保障财产安全提供了全新的解决方案。...

    RSA双向加密工具类及示例

    RSA双向加密工具类及示例,解压直接使用即可,有使用示例代码。

    电子功用-基于双向加密认证技术和通信技术的电子锁控制管理系统

    《电子功用-基于双向加密认证技术和通信技术的电子锁控制管理系统》是一份深入探讨现代电子锁安全控制技术的专业文档,其核心内容围绕着如何利用先进的双向加密认证技术和通信技术来构建一个安全、可靠的电子锁控制...

    Android Java iOS 三端RSA和AES双向加密修正版

    "Android Java iOS 三端RSA和AES双向加密修正版"是一个专为这三大主流平台设计的加密解决方案,旨在提供可靠的数据保护机制。以下是关于RSA和AES加密算法以及如何在Android、Java和iOS上实现它们的关键知识点。 **...

    Python源码-双向加密通信.py

    Python源码-双向加密通信

    PHP实现的AES双向加密解密功能示例【128位】

    本文将详细介绍如何在PHP中实现128位AES双向加密解密功能。 首先,AES加密算法允许使用不同长度的密钥,常见的有128位、192位和256位。在这篇文章中,我们关注的是128位的AES加密解密实现。为了实现这一功能,PHP...

    mysql双向加密解密方式用法详解

    MySQL中的双向加密是一种确保敏感数据安全的技术,如密码或私密信息,允许数据在加密和解密之间转换,只有持有特定密钥的人才能访问。在MySQL中,有ENCODE()和DECODE()函数用于实现这种功能,它们为数据库提供了一种...

    C# RSA加密解密

    **C# RSA加密解密详解** 在信息安全领域,加密技术是一种至关重要的手段,用于保护数据的隐私和安全性。RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法,广泛应用于网络通信、数据存储等领域。C#作为.NET...

    Https双向认证+加密狗配置教程

    ### HTTPS双向认证+加密狗配置教程知识点 #### 1. HTTPS双向认证基础 HTTPS双向认证,也称为客户端证书认证,是一种网络安全协议。在这种认证模式中,除了服务器向客户端证明自己身份的常规服务器证书之外,客户端...

    openssl tcp单向和双向加密源码

    https://blog.csdn.net/u014220105/article/details/84851031 先查看大致的思路确定是非有需要,部分代码源于其它地方,这里为测试代码 均已编译调试成功,欢迎指点,不喜勿喷

Global site tag (gtag.js) - Google Analytics