2017年网站建设视频教程大学生创新创业大赛负责人简介

news/2025/10/9 10:42:15/文章来源:
2017年网站建设视频教程,大学生创新创业大赛负责人简介,网站的流量有什么用,编程网课平台哪个好实验七 SHA-1 一、实验目的 熟悉SHA-1算法的运行过程#xff0c;能够使用C语言编写实现SHA-1算法程序#xff0c;增 加对摘要函数的理解。 二、实验要求 (1)理解SHA-1轮函数的定义和工作过程。 (2)利用VC语言实现SHA- 1算法。 (3)分析SHA- 1算法运行的性能。 三、实验…实验七 SHA-1 一、实验目的 熟悉SHA-1算法的运行过程能够使用C语言编写实现SHA-1算法程序增 加对摘要函数的理解。 二、实验要求 (1)理解SHA-1轮函数的定义和工作过程。 (2)利用VC语言实现SHA- 1算法。 (3)分析SHA- 1算法运行的性能。 三、实验原理 SHA-1对任意长度明文的分组预处理完后的明文长度是512位的整数倍值得注意的是SHA-1的原始报文长度不能超过2的64次方然后SHA-1生成160位的报文摘要。SHA-1算法简单且紧凑容易在计算机上实现。图6-1所示为SHA-1对单个512位分组的处理过程。 1.实验环境 普通计算机Intel i5 34703.2GHz, 4GB RAMWindows 7 Professional Edition, VS平台。 2.算法实现步骤 1)将消息摘要转换成位字符串 因为在SHA- 1算法中它的输入必须为位所以首先要将其转化为位字符串。以“abc”字符串来说明问题因为a97, b98, c99所以将其转换为位串后为01100001 01100010 01100011 2)对转换后的位字符串进行补位操作 SHA-1算法标准规定必须对消息摘要进行补位操作即将输入的数据进行填充使得数据长度对512求余的结果为448填充比特位的最高位补一个1,其余位补0如果在补位之前已经满足对512取模余数为448则要进行补位在其后补一位1。总之补位是至少补一位最多补512位。依然以“abc”为例其补位过程如下:初始的信息摘要: 01100001 01100010 01100011第一步补位:01100001 01100010 011000111最后一位补位: 01100001 01100010 01100011 10...0(后面补了423个0) 之后将补位操作后的信息摘要转换为十六进制: 61626380 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 3)附加长度值 在信息摘要后面附加64比特的信息用来表示原始信息摘要的长度在这步操作之后信息报文便是512比特的倍数。通常来说用一个64位的数据表示原始消息的长度如果消息长度不大于2那么前32比特就为0在进行附加长度值操作后其“abc数据报文即变成如下形式: 61 62638000000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000001 8 因为“abc”占3个字节即24位所以换算为十六进制后为0x18。 4)初始化缓存 一个160位MD缓冲区用以保存中间和最终散列函数的结果。它可以表示为5个32 位的寄存器(H0H1H2H3H4)。初始化如下: HO 0x67452301 H2 0x98BADCFE H3 0x10325476 H4 0xC3D2E1F0 如果大家对MD-5不陌生的话会发现一个重要的现象其前四个与MD-5一样 但不同之处是存储为Big-EndienFormat。 四、算法实现 (2)利用VC语言实现SHA- 1算法。 #include iostream #include string #include iomanip #include sstream #include Windows.h #include wincrypt.h// 函数声明 std::string sha1(const std::string input);int main() {std::string data Hello, SHA-1!;std::string hash sha1(data);std::cout SHA-1 Hash: hash std::endl;return 0; }// SHA-1算法实现 std::string sha1(const std::string input) {HCRYPTPROV hCryptProv;HCRYPTHASH hHash;BYTE rgbHash[20];DWORD cbHash 20;if (!CryptAcquireContext(hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))return ;if (!CryptCreateHash(hCryptProv, CALG_SHA1, 0, 0, hHash)) {CryptReleaseContext(hCryptProv, 0);return ;}if (!CryptHashData(hHash, (const BYTE*)input.c_str(), input.length(), 0)) {CryptReleaseContext(hCryptProv, 0);CryptDestroyHash(hHash);return ;}if (!CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, cbHash, 0)) {CryptReleaseContext(hCryptProv, 0);CryptDestroyHash(hHash);return ;}std::stringstream ss;for (int i 0; i cbHash; i) {ss std::hex std::setw(2) std::setfill(0) (int)rgbHash[i];}CryptDestroyHash(hHash);CryptReleaseContext(hCryptProv, 0);return ss.str(); }运行结果 (3) 分析SHA-1算法的性能: SHA-1是一种哈希算法通常用于数据完整性验证和数字签名。然而随着时间的推移SHA-1的性能和安全性受到了挑战因此在实际应用中要谨慎使用。 性能分析包括以下方面 a. 计算速度SHA-1的计算速度通常较快适用于快速生成哈希值。 b. 安全性SHA-1不再被认为是安全的哈希算法因为已经出现了碰撞攻击可以生成两个不同的输入它们产生相同的SHA-1哈希值。这使得SHA-1不适合用于敏感数据的加密或签名。 c. 应用领域SHA-1仍然可以用于一些非安全性要求严格的应用例如在校验数据完整性时。但对于需要高安全性的应用应该选择更安全的哈希算法如SHA-256或SHA-3。 五、实验心得 SHA-1是一个基于位运算和逻辑运算的哈希算法它将输入数据转化为固定长度160位的哈希值。SHA-1在性能方面通常表现良好但已不再被认为是安全的哈希算法。因此建议在应用中使用更安全的哈希算法特别是需要保护敏感数据的情况。SHA-256和SHA-3等算法提供了更高的安全性可以满足更严格的安全要求。在实现SHA-1算法时需要将输入字符串转换为适当格式并填充数据以确保数据长度满足SHA-1算法的要求。包括位填充和附加数据长度。通过实验我了解SHA-1算法中的各个步骤包括信息的分块、扩展消息、初始化哈希值、迭代运算等。这有助于更好地理解SHA-1的内部工作原理。此次实验使我加深了对哈希算法的理解提高了编程能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 最新推荐!AI 写作工具公司榜单:综合实力、用户体验与新锐品牌深度解析

随着 AI 技术在内容创作领域的深度渗透,企业营销、小说创作、学术研究等场景对写作工具的需求呈爆发式增长,但市场现状却让用户陷入选择困境。多数工具或功能单一难以适配多场景,或数据安全缺乏保障,甚至新锐品牌与…

2025 最新推荐:AI 写小说工具公司口碑排行榜,聚焦卓越品质与新锐实力的权威指南

AI 技术的迭代让小说创作进入智能化新纪元,AI 写小说工具已成为创作者突破瓶颈、提升效率的核心助手。但伴随市场爆发式增长,数千款工具鱼龙混杂:部分工具功能单一,仅能生成基础文字,缺乏卡文破解、剧本改编等深度…

Gitee领航本土DevOps平台发展新纪元:数字化转型中的中国方案

Gitee领航本土DevOps平台发展新纪元:数字化转型中的中国方案 在数字经济的浪潮下,中国软件产业正迎来前所未有的发展机遇。作为国内领先的代码托管与DevOps平台,Gitee凭借其本土化优势和创新功能矩阵,正在重新定义…

HBASE下载配置

HBASE下载配置HBase 单机环境问题解决与核心知识记录 已完整学习并记录您总结的 HBase 单机环境问题解决流程、配置要点及验证方法,核心信息梳理如下,便于后续您咨询 HBase 使用问题时快速衔接: 一、核心环境与配置…

Gitee崛起背后:本土项目管理工具如何重塑中国技术团队工作模式

Gitee崛起背后:本土项目管理工具如何重塑中国技术团队工作模式 在数字化转型浪潮席卷各行各业的当下,软件开发项目管理工具已经从单纯的版本控制系统,进化为企业技术基础设施的核心组件。Gitee(码云)作为国产项目…

2025 年国内减速机厂家最新推荐排行榜:聚焦谐波 / 行星 / 直角换向器等多类型设备,精选实力厂商助力企业精准选型

当前减速机市场品牌繁杂,产品质量与性能差异显著,冶金、电力、矿山等行业企业在选购时,常因信息不对称难以判断厂商实力与产品适配性。且随着各行业对减速机传动精度、扭矩、节能等要求提升,传统产品逐渐无法满足需…

prometheus WAL 的主要用途

View Postprometheus WAL 的主要用途位置/data/wal WAL(Write-Ahead Log,预写日志) 是 Prometheus TSDB 的一个关键组件,它的作用类似于数据库的事务日志。 WAL 的主要用途 1. 数据持久化保证在数据写入磁盘块之…

基于MATLAB的三维六面体有限元网格模型

基于MATLAB的三维六面体有限元网格模型一、代码 function [nodes, elems] = generateHexMesh(xRange, yRange, zRange, nx, ny, nz)% 参数说明:% xRange: [xmin, xmax] x方向范围% yRange: [ymin, ymax] y方向范围% z…

京东网站推广方式网站的说服力

在Jupyter Notebook中是可以切换虚拟环境的,以下是几种常见的方法: 方法一:使用nb_conda_kernels扩展(适用于Anaconda环境) 安装 如果你使用的是Anaconda环境,首先确保你已经安装了 nb_conda 包。如果没…

一天一款实用的AI工具,第5期,AI翻译成日语

现实问题 传统机器翻译译文生硬不通顺:对长句、被动句的语序处理不佳。 专业术语易错:对特定领域的专业词汇、多义词翻译不准。 工具介绍 本期介绍这款【AI翻译成英语工具】,专业的日语翻译工具,帮你翻译成流畅的日…

2025 年最新推荐金相厂家榜单:涵盖磨抛机 / 切割机 / 显微镜等设备,助力企业精准选品

当前材料检测行业持续升级,金相检测作为保障石油机械、航空航天、汽车制造等领域产品质量的核心环节,其设备的可靠性与专业性愈发关键。然而,市场上金相品牌数量激增,既有深耕多年的老牌企业,也有新兴入局的品牌,…

Go工程打包版本号

Go工程打包版本号 有些项目,会把版本号写入源码中,每次升级都修改源码号。在 Go 项目中这不是好的处理方式。 一般情况下,可以通过 Git 获得版本信息,可以通过 shell 脚本实现,最后编译 Go 项目时,将版本信息通过…

建平县营商环境建设局网站禁止wordpress后台加载谷歌字体

文章目录 一、总结区别(只针对本地仓库操作)Soft详细解释文件版本冲突处理 Mixed详细解释Hard详细解释Keep详细解释文件版本冲突处理 二、其他Revert commit 参考文档 一、总结区别(只针对本地仓库操作) Soft详细解释 Soft操作只…

常用网站推荐帮别人做设计的网站

随着无纸化办公和智能化办公的不断推进,在办公过程中传统PC电脑的缺点愈发凸显。传统电脑的性能会随着使用时长增加而降低,系统维护处理时效性较弱,出现问题需要运维人员到现场解决,费时费力。如果出现更换设备的情况,…

C#调用matlab封装的dll报错

这个问题出现得有半年了,一直有别的工作更着急所以没记录没解决 还是老问题了,他大爷的老子早晚解决了他橘子Jane

生产设备数据采集怎么做?主要有哪些应用?

生产设备数据采集的核心目标是通过技术手段将设备运行信息转化为可分析的数据资产,为制造业智能化提供基础支撑。面对不同行业的采集需求,企业需解决设备协议兼容、数据格式统一等难题。Ftrans UFA⽂件数据统⼀采集系…

2025 年编码器源头厂家最新推荐榜单:聚焦无磁 / 光学 / 脉冲 / 绝对型等多类型编码器,精选优质企业助力采购决策

随着工业自动化向高精度、高可靠性方向加速发展,编码器作为闭环控制系统的核心传感部件,市场需求持续攀升,但采购难题也随之凸显。当前市场中,编码器品牌数量繁多,产品质量差异悬殊,部分厂家缺乏核心技术,产品在…

2025 年绝对式编码器源头厂家最新推荐榜单:增量 / 多圈 / 二进制 /ssi/ 拉线型产品优质企业全面盘点

随着工业自动化向高精度、高可靠性方向加速升级,绝对式编码器作为闭环控制系统的核心反馈部件,其市场需求呈爆发式增长,涵盖电机控制、智能装备、航空航天、冶金制造等关键领域。然而当前市场中,源头厂家技术实力悬…

做网站和微信公众号如何招生wordpress twenty six

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装疫苗预约系统软件来发挥其高效地信息处理的作用&#xff0c…

百度手机网站建设网站更换关键词怎么做好

激活函数映射——引入非线性性质 h (Σ(W * X)b) yσ(h) 将h的值通过激活函数σ映射到一个特定的输出范围内的一个值,通常是[0, 1]或[-1, 1] 1 Sigmoid激活函数 逻辑回归LR模型的激活函数 Sigmoid函数&#xff0…