首页 > Web开发 > 详细

.net 对称加密DESCryptoServiceProvider

时间:2014-01-17 00:28:28      阅读:673      评论:0      收藏:0      [点我收藏+]

1.生成密钥以加密和解密数据

DESCryptoServiceProvider 基于一种对称加密算法。对称加密需要密钥和初始化矢量 (IV) 来加密数据。要解密该数据,您必须拥有此同一密钥和 IV。您还必须使用相同的加密算法。
    您可以使用下列方法之一生成密钥:
   ? 方法 1 您可以提示用户输入密码,然后 将此密码用作密钥和 IV。
   ? 方法 2 当您创建对称加密类的新实例时,将为会话自动创建一个新的密钥和 IV。

必须以字节数组的形式给加密提供程序提供密钥。System.Text 命名空间提供了一个名为 GetBytes() 的函数。GetBytes() 函数的编码特征之一是,它取一个字符串,然后返回一个字节数组。各种加密技术采用的密钥长度是不相同的。例如,数据加密标准 (DES) 使用等于 8 个字节或 8 个字符的 64 位密钥。

如果您不提供密钥,提供程序就会随机生成一个密钥。这将成功地加密文件,但是无法解密文件。请注意,您还必须提供初始化矢量 (IV)。该值用作加密的一部分。与密钥相似,如果您未提供 IV,提供程序就会随机生成一个。由于该值对于加密和解密必须相同,所以不能让提供程序随机生成这些值。

DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
     DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);

.net 对称加密DESCryptoServiceProvider

原文:http://www.cnblogs.com/weekend001/p/3522449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!