使用DPAPI加密或解密你的数据
2005-07-13 11:17
323 查看
对于小量数据的加密,我们可以使用DPAPI,对称密钥,非对称密钥等。
对于大量数据的加密,非对称密钥加密不仅麻烦,而且速度也很慢,同时还要对公钥和密钥进行保密。
使用对称密钥,速度是相当快的,但仍然要处理密钥的问题,当然这种密钥也有时效性,因为它容易被破解。所出一般情况下用于网络上的会话传输,SSL中用的较多。
对于不想保存密钥,而又要加密和解密来说,DPAPI可能显得简单的多,而且也不需要自己写太多的代码,安全性也得到一定的保证,同时不需要保存密钥,一举多得。
使用举例,下面就DPAPI加密和解密数据库连接字符串举例:
1string dbconn = "Provider=SQLOLEDB;SERVER={0};uid={1};pwd={2};database={3}";
2DataProtector dataProtector = new DataProtector(DataProtector.Store.USE_MACHINE_STORE);
3byte[] bts = Encoding.Default.GetBytes(dbconn);
4byte[] bytes = dataProtector.Encrypt(bts, null);//加密
5string values = Encoding.Default.GetString(dataProtector.Decrypt(bytes, null));//解密
6
下面是对DPAPI的封装。
1using System;
2using System.Runtime.InteropServices;
3
4namespace CNetware.Data.DPAPI
5
388
对于大量数据的加密,非对称密钥加密不仅麻烦,而且速度也很慢,同时还要对公钥和密钥进行保密。
使用对称密钥,速度是相当快的,但仍然要处理密钥的问题,当然这种密钥也有时效性,因为它容易被破解。所出一般情况下用于网络上的会话传输,SSL中用的较多。
对于不想保存密钥,而又要加密和解密来说,DPAPI可能显得简单的多,而且也不需要自己写太多的代码,安全性也得到一定的保证,同时不需要保存密钥,一举多得。
使用举例,下面就DPAPI加密和解密数据库连接字符串举例:
1string dbconn = "Provider=SQLOLEDB;SERVER={0};uid={1};pwd={2};database={3}";
2DataProtector dataProtector = new DataProtector(DataProtector.Store.USE_MACHINE_STORE);
3byte[] bts = Encoding.Default.GetBytes(dbconn);
4byte[] bytes = dataProtector.Encrypt(bts, null);//加密
5string values = Encoding.Default.GetString(dataProtector.Decrypt(bytes, null));//解密
6
下面是对DPAPI的封装。
1using System;
2using System.Runtime.InteropServices;
3
4namespace CNetware.Data.DPAPI
5
388
相关文章推荐
- How To:使用DPAPI来加密和解密数据
- 微信小程序--使用微信官方demo解密userinfo加密数据
- JS使用插件cryptojs进行加密解密数据实例
- 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据
- 使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据
- 使用DESCryptoServiceProvider类对数据或者文件进行加密解密
- 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据
- 使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据
- 关于使用RijndaelManaged 类加密解密数据的小结
- spring mvc 自定义注解ResponseEncryptBody、RequestDecryptBody统一处理加密、解密数据,供移动端使用的rest服务
- 使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据(转)
- iOS中使用RSA对数据进行加密解密
- 使用PBEWithMD5AndDES算法完成对数据的加密和解密
- 在PHP中使用AES加密算法加密数据及解密数据
- 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据
- 使用3DES加密与解密实习Android端和后台的数据加密传输
- 使用 ROT13 算法加密解密数据
- java httpServer端接受post请求数据并使用3DES+base64加密解密demo希望能够对您有帮助
- JS使用插件cryptojs进行加密解密数据实例
- C#中利用DPAPI加密解密数据