-
封装好的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
-
LWZ 压缩算法
亏损较少的压缩算法,从LZ78算法剥夺
我已经添加了LZ78算法的(希望非常透彻)的例子。我会很感激,如果有人比我其他的可以给它一个检查,在作为保障 - 并确保我可以添加二进制:)
我不太熟悉的LZ77,但打算做一个类似的例子,在不久的将来。
- 2023-01-26 18:25:03下载
- 积分:1
-
ACM的重要PPT资料,对初学者非常有益处
ACM的重要PPT资料,对初学者非常有益处-ACM important PPT information is very useful for beginners
- 2023-01-02 20:05:12下载
- 积分:1
-
Scientific Computing in the conjugate gradient method symmetric positive definit...
科学计算中的共轭梯度法解对称正定线性方程组.-Scientific Computing in the conjugate gradient method symmetric positive definite solution of linear equations.
- 2023-06-27 07:40:04下载
- 积分:1
-
俄罗斯方块
应用程序向导已经创造了这个应用程序的ARS为你。此应用程序不仅介绍了使用Microsoft基础类的基本知识但也是一个起点编写应用程序。该文件包含了什么你会发现在每个文件的摘要说ARS的应用程序。
- 2022-01-26 07:38:46下载
- 积分:1
-
快速傅立叶算法c程序,改变参数可以对2的n次方长度的有限序列进行频谱分析。...
快速傅立叶算法c程序,改变参数可以对2的n次方长度的有限序列进行频谱分析。-Fast Fourier algorithm c program to change the parameters can be the n-th power of 2 length limited sequence analysis of the spectrum.
- 2022-02-24 10:10:13下载
- 积分:1
-
vs.lib是一组线性代数与可积/迪在C++数学库…
vs.lib is a math library in C++ with a set of linear algebra and integrable / differentiable objects. vs.lib is a rapid-proto-typing tool which makes programming in numerical applications as easy as writing mathematical expressions.-vs.lib is a math library in C++ with a set of linear algebra and integrable/differentiable objects. vs.lib is a rapid-proto-typing tool which makes programming in numerical applications as easy as writing mathematical expressions.
- 2022-02-24 19:39:22下载
- 积分:1
-
CAMSHIFT+粒子
根据粒子滤波与camshift结合的算法,效果还可以,采用手动选择目标。能够有效的完成多目标的跟踪,能够对人体车辆,行人,人脸多目标进行跟踪。
- 2023-09-01 13:45:04下载
- 积分:1
-
基于最小二乘法(LS)的信道估计
本程序包含LS信道估计方法和MMSE信道估计方法,程序已经验证,当可以获得训练符号时,最小二乘(LS)法信道估计由于简单而被广泛用于信道估计。将训练符号用于信道估计,可以提供较好的性能,即降低误码率(BER),该程序正确可用,且带有注释,方便理解运用!
- 2022-02-11 14:18:57下载
- 积分:1
-
最小二乘一次完成算法的c语言程序,调试没有问题。
最小二乘一次完成算法的c语言程序,调试没有问题。-A complete least-squares algorithm c language programming, debugging there is no problem.
- 2022-07-20 05:26:33下载
- 积分:1