打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
HASH算法之SHA

Hash算法是验证文件完整性的重要算法,是一种数学算法的实际应用。本次试验我们将以Hash算法中著名的HSA-1为例,向大家展示Hash算法的编程实现方法,以便更好地理解算法本身以及数学理论到程序实现的过程。通过试验,对Hash算法本身有进一步直观的认识,并对编程实现有所了解和体会。

SHA(Secure Hash Algorithm,安全散列算法)是一种数据加密算法。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换撑一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短,位数固定的输出序列即散列值(也成为信息摘要或信息认证代码)的过程。从理论上讲,所有可能的明文将散列成一个唯一的密文,但实际并不是这样。大多数时候,几乎有无穷多个不同的字符串可以产生完全相同的散列值,因此一个好的散列函数,在实际中很难有两个可理解的字符串三列成相同的值。单项散列函数的特征是容易产生散列值,但是由于它的输出不以任何可辨认的方式反映输入,所以从给定的散列值反求出输入信息非常困难。

SHA本身有一个标准,其中给出了有关SHA的各种信息,是我们进行通用化编程的基础,也是我们全面了解SHA的根本。

Visual C++ 6.0双击。选择“文件”“新建”。

创建一个win32控制台工程,工程名称和位置自定,此工程名称为“sha1”。

左侧工作区,选择“FileView”选项卡,右击工程名称,选择“添加文件到工程”。

在C:\代码\BUPT1010B中找到两个.h文件和两个.cpp文件添加到工程中,如下图所示。

双击sha1Test.cpp,找到下图中的代码,“你好”是明文,编译运行后输出“你好”的摘要。

编译运看到行程序,可以运行结果。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何在VS2010项目中引用Lib静态库(以Openssl为例)
MD5、SHA1、CRC32值是干什么的?
几款主流文件校验软件HashCalc、Hasher、WinMD5 | 思齐博客
几个Hash校验工具比较和下载
Hash 算法及其应用
什么是hash函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服