您的位置:首页 > 其它

使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐