数据加密之RijndaelManaged加密

摘要:
1#regionRijndaelManaged encryption 2///<summary>3///加密数据4///</summary>5///<paramname=“Text”>要加密的内容˂/param>6///<paramname=“sKey”>密钥必须是32位的˂/param<7//<return>˂/return>8publicstaticstringRiEncrypt(stringText,s
 1 #region RijndaelManaged加密
 2         /// <summary> 
 3         /// 加密数据 
 4         /// </summary> 
 5         /// <param name="Text">要加密的内容</param> 
 6         /// <param name="sKey">key,必须为32位</param> 
 7         /// <returns></returns> 
 8         public static string RiEncrypt(string Text, string sKey)
 9         {
10             byte[] keyArray = UTF8Encoding.UTF8.GetBytes(sKey);
11              //TripleDESCryptoServiceProvider
12             RijndaelManaged encryption = new RijndaelManaged();
13             encryption.Key = keyArray;
14 
15             encryption.Mode = CipherMode.ECB;
16 
17             encryption.Padding = PaddingMode.PKCS7;
18 
19             ICryptoTransform cTransform = encryption.CreateEncryptor();
20 
21             byte[] _EncryptArray = UTF8Encoding.UTF8.GetBytes(Text);
22 
23             byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);
24 
25             return Convert.ToBase64String(resultArray, 0, resultArray.Length);
26 
27         }
28         #endregion
29         #region =======RijndaelManaged解密========
30         /// <summary> 
31         /// 解密数据 
32         /// </summary> 
33         /// <param name="Text"></param> 
34         /// <param name="sKey"></param> 
35         /// <returns></returns> 
36         public static string RiDecrypt(string Text, string sKey)
37         {
38             byte[] keyArray = UTF8Encoding.UTF8.GetBytes(sKey);
39 
40             RijndaelManaged decipher = new RijndaelManaged();
41 
42             decipher.Key = keyArray;
43 
44             decipher.Mode = CipherMode.ECB;
45 
46             decipher.Padding = PaddingMode.PKCS7;
47 
48             ICryptoTransform cTransform = decipher.CreateDecryptor();
49 
50             byte[] _EncryptArray = Convert.FromBase64String(Text);
51 
52             byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);
53 
54             return UTF8Encoding.UTF8.GetString(resultArray);
55 
56         }
57         #endregion

免责声明:文章转载自《数据加密之RijndaelManaged加密》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇no sqljdbc_auth in java.library.path com.microsoft.sql 没有为集成身份验证配置驱动程序。【转】C#中Invoke的用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java 实现基于opencv全景图合成

因项目需要,自己做了demo,从中学习很多,所以分享出来,希望有这方面需求的少走一些弯路,opencv怎么安装网上教程多多,这里不加详细说明,我安装的opencv-3.3.0  如上图所示,找到相应的jar包,这里讲一下如何这个jar如何导入Maven仓库 mvn install:install-file -Dfile=D:opencv-3.0.0ope...

Spring MVC使用ModelAndView进行重定向

1、Servlet重定向forward与redirect: 使用servlet重定向有两种方式,一种是forward,另一种就是redirect。forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,地址栏的url与你之前访问的url保持不变。redirect则是客户端重定向,是服务器将你当前请求返回,然后给个状态标示给你...

Redis集群下过期key监听

1. 前言 在使用redis集群时,发现过期key始终监听不到。网上也没有现成的解决方案。于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听。以上做法可能不尽人意,目前也没找到好的解决方案,如果有好的想法,请留言告知哦!不多说,直接贴我自己的代码! 2. 代码实现 关于Redis集群配置代码此处不贴,直接贴配...

使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)

1、首先是rabbitmq的配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in...

JAVA缓存的实现

缓存可分为二大类:  一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式;   二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查.  下面为一个简单的缓存代码  Java代码  package lhm.hcy.guge.frameset.cache;      ...

Java学习:JDBC各类详解

 JDBC各个类详解 代码实现: //1.导入驱动jar包 //2.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连对象 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3","root",...