适用于:
Microsoft® .NET
安全
Microsoft® Visual Basic® .NET
C#
摘要:学习如何利用 .NET Framework 的加密功能创建类似本文所述的包装程序来保护您的数据。
下载与本文相关的 CryptoSampleCSSample.msi 和 CryptoSampleVBSample.msi 代码示例。(请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者理解。)
目录
散列简介
创建示例散列项目
在散列中添加“盐”值
小结
您希望在计算机上保存一些机密信息吗?如果是,本文就为您介绍如何进行加密!加密技术就是将有意义的字符编码成无意义的字符,使不应该访问这些数据的人员无法读取它们。加密技术已经存在很多年了,甚至远在计算机诞生之前就已经存在了。随着计算机的出现,在计算机领域应用加密技术可以生成几乎牢不可破的代码。Microsoft 在 Windows 95 中开发并分发了加密 API。使用 Microsoft .NET,新创建的类可以将这些复杂的算法打包到非常易于使用的属性和方法中。
散列简介
如果您只是不想让别人窃取您的密码,那么可以为密码数据创建一个散列。散列是一种单向算法,一旦数据被转换,将无法再获得其原始值。大多数开发人员使用数据库存储密码。但是,在数据库中查找用户数据的人员也能够看到这些密码。不过,您可以使用散列算法对密码进行加密,然后再将其存储在数据库中。用户输入密码后,您可以再次使用散列算法对其进行解密,然后将其与存储在数据库中的散列进行比较。散列的缺点之一是,即使原始数据只发生一个小小的改动,数据的散列也会发生非常大的变化。Pork 和 Porky 这两个单词非常相似,但使用散列算法加密后的结果却相去甚远。您可能根本看不出二者之间有什么相似之处。
.NET 开发人员可以使用多种散列算法类。最常用的是 SHA1 和 MD5。下面我们看一下如何为“Paul”这样的普通字符串生成散列,使任何人都无法识别它。