-
封装好的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
-
tf-idf中文
主要使用matlab编写的处理中文语料的tf-idf文档,可以实现对文本的词频及逆文本频率进行统计,得出每个词项的tf-idf权重进而对向量模型进行相似度分析,可进行文本分类等相关后续工作
- 2022-07-08 07:25:32下载
- 积分:1
-
普通的离散图像信号的傅里叶变换和逆变换。
普通的离散图像信号的傅里叶变换和逆变换。-Ordinary image signals in discrete Fourier transform and inverse transform.
- 2022-03-25 05:24:05下载
- 积分:1
-
用C++动态TSP问题
应用背景一个旅行推销员是准备一个大的销售之旅。在他的家乡,提着手提箱,他将进行一次旅行,他的每一个目标城市被访问一次然后回家。鉴于城市之间的两两距离,在参观他们的最佳顺序是什么,从而减少整体的距离?为城市的1,……,N,推销员的故乡1,让a ; ;(dij)是城际间的距离矩阵。我们的目标是设计一个旅行的开始和结束在1,包括所有的其他城市是一次性的,并具有最低的总长度。图中显示了一个涉及五个城市的例子。 ;关键技术让我们马上进入DP。那么什么是适当的子问题求解TSP?在这种情况下,最明显的部分解决方案是一个旅游的初始部分。假设我们在市1的要求开始,参观了几个城市,现在在城市的什么信息是我们为了扩大这部分旅游需求?我们一定要知道,因为这将决定哪些城市未来最方便的访问。我们还需要知道所有访问的城市到目前为止,所以我们不要重复任何人。在这里,然后,是一个合适的子问题。
- 2023-09-05 22:30:04下载
- 积分:1
-
用C++编写的二到十六进制正整数字符串转为数值的小程序
用C++编写的二到十六进制正整数字符串转为数值的小程序-Using C prepared in 2-16 M-ary positive integer values into a string of small procedures
- 2022-04-18 05:45:49下载
- 积分: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
-
G729源码
G729的多种编解码,源码。含有测试程序。G729的多种编解码,源码。含有测试程序。
- 2022-07-13 04:23:17下载
- 积分:1
-
分段线性分割的算法,用于进行自底向上的分段线性时间序列分割...
分段线性分割的算法,用于进行自底向上的分段线性时间序列分割-Piecewise linear segmentation algorithm, bottom-up used for the Piecewise Linear Time Series Segmentation
- 2022-07-23 22:28:08下载
- 积分:1
-
This program evaluates mathematical expressions to output a single number e.g. 1...
This program evaluates mathematical expressions to output a single number e.g. 1+1 will give 2. It can handle brackets indices and modulation(rounding) as well and ordinary operators.
- 2022-03-13 14:25:29下载
- 积分:1
-
The Kalman filter30 is a minimum
The Kalman filter30 is a minimum-variance filter in which time-series measurements are incorporated recursively into estimates of state variables it is the optimal, Bayesian least-squares estimator for linear dynamic systems.-text
- 2022-03-17 08:20:02下载
- 积分:1