由于网络安全威胁数量的不断增长,加密技术已经成为当前一项重要的程序开发工程。加密技术的基本原理是将有深刻含义的数据转化为没有任何含义的数据。
.NET Framework囊括了与保护敏感数据有关的方方面面,其中最为流行的技术为散列法(hashing)。
数据可以小至一个数据库连接的字符,也可以大如一个包含成千上万数据库记录的DataSet。基于此,保护数据的方法有很多种,其中最基本的方法即为散列法(hashing)。
Hash值是与基本文本数值有关的一种密码保护安全方式。一个安全的hash算法可以使得在无意或有意情况下都不能构建同样的hash值。
.NET Framework支持以下的hash运算规则:
支持算法的字节的范围为从128到512,更多字节将可以产生更加安全的结果。然而,更多字节也将降低程序的性能。
利用这些知识要点,你可以选择SHA512算法,因为它使用的是最长的字节。但最终的决定取决于你的实际情况。
.NET Framework通过System.Security.Cryptography名称空间来提供Hashing功能。它提供了很多类,由此可以利用不同的Hashing算法。这里列举了这些类的一些例子:
为了更详细的信息,你可以阅读微软的关于System.Security.Cryptography空间名称的文档。现在让我们更为深入地讨论如何使用这些类来执行hashing。