- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概述
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。加密建立在对信息进行数学编码和解码的基础上。加密类型分为两种,对称加密与非对称加密,对称加密双方采用共同密钥。非对称加密,这种加密方式存在两个密钥,一个是公共密钥(对外公开),一种是私人密钥(对外保密)。 ?
一、摘要算法
数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法或散列算法。
从严格意义上讲,摘要算法不是加密算法,但在具体应用中类似于加密算法使用,或者与加密算法一起使用,这里也拿来介绍下。
应用范围:密码加密、数据完整性校验、数字签名等
这里介绍常用的两种摘要算法,MD5与SHA1。
提示:当前MD5已经被破解,推荐使用SHA1
1、MD5
哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串。 加密哈希函数有这样一个属性:在计算上不大可能找到散列为相同的值的两个不同的输入;也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配。 数据的少量更改会在哈希值中产生不可预知的大量更改。MD5 算法的哈希值大小为 128 位。MD5 类的 ComputeHash 方法将哈希作为 16 字节的数组返回。 请注意,某些 MD5 实现会生成 32 字符的十六进制格式哈希。 若要与此类实现进行互操作,请将 ComputeHash 方法的返回值格式化为十六进制值。
?MD5加密:
/// summary
/// MD5加密为32字符长度的16进制字符串
/// /summary
/// param name=input/param
/// returns/returns
public static string EncryptByMD5(string input)
{
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
//将每个字节转为16进制
for (int i = 0; i data.Length; i++)
{
sBuilder.Append(data[i].ToString(x2));
}
return sBuilder.ToString();
}
??
2、SHA1
计算输入数据的 SHA1 哈希值。
哈希值用作表示大量数据的固定大小的唯一值。 如果相应的数据也匹配,则两个数据集的哈希应该匹配。 数据的少量更改会在哈希值中产生不可预知的大量更改。SHA1 算法的哈希值大小为 160 位。
?SHA1加密:
/// summary
/// SHA1加密
/// /summary
/// param name=input/param
/// returns/returns
public static string EncryptBySHA1(string input)
{
SHA1 sha = new SHA1CryptoServiceProvider();
byte[] bytes = Encoding.Unicode.GetBytes(input);
byte[] result = sha.ComputeHash(bytes);
return BitConverter.ToString(result);
}
??
?二、对称加密
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解
您可能关注的文档
- 采面回采作业规程.doc
- 级物理上册教案[人教版][].doc
- 课程标准电子商务物流实务.doc
- 埋弧自动焊焊接工艺规范[].doc
- 山东建筑大学考研参考书目.doc
- 全国绿色建筑创新奖评审要点9.doc
- 广东省韶关市北江中学届高生物考前模拟.doc
- clbjkqw历英语级真题阅读译文汇总(免费).doc
- IPvv互通技术之隧道技术(Tunnel).doc
- GPON技术在运营商市场的应用浅析.doc
- 2022年11月乌海市直机关遴选公务员面试真题回忆版.docx
- 2022年11月云南省直机关遴选公务员面试真题附解析.docx
- 2022年11月省属虚拟市直机关遴选公务员面试真题带题目详解.docx
- 2022年11月丰都县直机关遴选公务员面试真题回忆版.docx
- 2022年11月本溪市直机关遴选公务员面试真题回忆版汇总.docx
- 2022年11月沈阳市直遴选面试真题回忆版汇总.docx
- 2022年11月绵阳市税务系统遴选面试真题附详细解析.docx
- 2022年11月吴忠市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月思茅市直机关遴选公务员面试真题带详细解析.docx
- 2022年2月潮州市直机关遴选公务员面试真题附解析.docx
文档评论(0)