DPAPI函数使用三重-DES算法对数据进行加密和解密.除了对加密和解密,它也用来生成和保护API handles key,DPAPI可以产生两种类型的密钥:基于用户的密钥存储或者基于计算机密钥存储(这样密钥通常涉及到用户存储和计算机存储).用户存储和计算机存储是相互排斥的;意思是你不可以在一次调用DPAPI是同时使用基于用户密钥存储或者基于计算机密钥存储.在使用ASP.NET程序时不能使用基于基于用户的密钥存储.
我们在DotNet中通过调用Data Protection API (DPAPI)函数CryptProtectData 和 CryptUnprotectData去加密和解密数据.
下面是来自微软资料:
详细的关DPAPI的资料,可以参看:
创建一个使用 DPAPI 来对数据进行加密和解密的托管库,可以参看:
如果你希望在ASP .NET程序中执行 DPAPI 处理,可以参看:
如果你希望在Enterprise Services (COM+) 服务器应用程序中运行的 .NET 服务组件来执行 DPAPI 处理,可以参看:
在Obviex™
上有How to Use DPAPI to Encrypt and Decrypt Data 加强了上面微软的加密和解密的托管库,提供多个版本的加密和解密方法,增添了二级加密和加密时添加描述信息,返回数据描述信息在解密时
![](/images/cnblogs_com/rippleyong/sour.gif)
![](/Emoticons/emthup.gif)
![](/Emoticons/emthup.gif)
![](/Emoticons/emthup.gif)
![](/Emoticons/emthup.gif)
![](/Emoticons/emthup.gif)