-
封装好的C++MD5算法库
应用背景md5的典型应用是对一段信息(message)产生信息摘要(message-digest),以防止被篡改。比如,在unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
这就是tanajiya.tar.gz文件的数字签名。md5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算md5时就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。如果再有一个第三方的认证机构,用md5还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。
md5还广泛用于加密和解密技术上。比如在unix系统中用户的密码就是以md5(或其它类似的算法)经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成md5值,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用md5程序计算出这些字典项的md5值,然后再用目标的md5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是p(62,1)+p(62,2)….+p(62,8),那也已经是一个很天文的数字了,存
- 2022-03-19 09:13:23下载
- 积分:1
-
LBG算法,矢量量化经典算法
用于语音矢量量化,随机初始化码本,其中有优化,当出现某一个码本样本个数为零时可重新进行分类,这样可避免聚类效果不佳。LBG算法与Kmeans算法类似,但在收敛时定义略有不同,稍加改动也可作Kmeans算法进行使用。
- 2022-08-08 03:36:53下载
- 积分:1
-
实数据快速傅立叶变换算法2
实数据快速傅立叶变换算法2-false information Fast Fourier Transform algorithm 2
- 2023-05-06 12:35:02下载
- 积分:1
-
舍罕王失算程序
国际象棋是古印度舍罕王的宰相达伊尔发明,舍罕王问宰相要什么赏赐。宰相就说:第一个格子放一粒麦子、第二个格子放两粒麦子、第三格子放四粒麦子.......依次知道64个格子 问舍罕王能实现吗?
- 2022-08-08 14:02:02下载
- 积分:1
-
本例子演示了如何利用fortran90接口写一个3维变量,并添加属性...
本例子演示了如何利用fortran90接口写一个3维变量,并添加属性-This example shows how to use fortran90 interface to write a three-dimensional variable, and add a property
- 2022-03-25 11:23:12下载
- 积分:1
-
BP神经网络的数据分类
1,对BP神经网络初始化;2,隐含层输出计算;3,输出层输出计算;4,误差计算;5,权值更新;6,阈值更新;7,判断算法迭代是否结束。本算法对语音特征信号进行识别。案例选取了民歌,古筝,摇滚和流行四类不同音乐,用BP神经网络实现对四类音乐的有效分类。
- 2022-06-21 10:35:07下载
- 积分:1
-
一种最大数量的随机抽取
输入一个最大数字,随机数抽奖-importation of a maximum number of random draw
- 2022-03-03 12:47:21下载
- 积分:1
-
集中改进的粒子群算法(CLPSO;ISPO;CPSO)
综合学习的粒子群算法(CLPSO)和智能单粒子算法(ISPO)等几种有名的改进算法,并且整合到一起,可以进行多极值函数的寻优比较。
- 2022-07-27 09:31:41下载
- 积分:1
-
C语言MATLAB的图灵机的动画演示程序,基于图灵…
用C语言+MATLAB实现的图灵机的动画演示程序,基于图灵机的基本原理实现。-C language MATLAB the Turing Machine animation demo program, based on the Turing machine to achieve the basic principles.
- 2022-10-03 05:30:03下载
- 积分:1
-
我的一个MATLAB牛顿插值程序
我还很菜 请多多指教 批准加入 谢谢!...
我的一个MATLAB牛顿插值程序
我还很菜 请多多指教 批准加入 谢谢!-a MATLAB Newton interpolation procedures, I also ask you to enlighten vegetables approval Thank you!
- 2022-08-23 03:36:47下载
- 积分:1