SHA-1与MD5都是摘要算法,且为不可逆算法;
应用角度来讲,适用性比安全性重要,两个算法长度有所不同,SHA-1 160位,MD5 128位。
如果从安全角度,在计算出摘要后,对摘要进行签名,可以增加抗抵赖、防篡改的能力,详情请查看数字签名的资料。
㈡ 不可逆加密算法的介绍
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。
㈢ 不可逆的加密算法
原型:
int WINAPI icePub_getMD5FromString(char *strData,char *strResult)
输入:strData 待处理的文本串
输出:strResult MD5结果串,32字节
返回码:
char buff[1024];
char buff2[1024];
strcpy(buff2,"Walk At Familiar Alley, Pursue Concordand's Footfall, Between Front And Back, What Course To Follow?");
typedef int (WINAPI ICEPUB_GETMD5FROMSTRING)(char *strData,char *strResult);
ICEPUB_GETMD5FROMSTRING *icePub_getMD5FromString = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getMD5FromString=(ICEPUB_GETMD5FROMSTRING *)GetProcAddress(hDLLDrv,"icePub_getMD5FromString");
}
if(icePub_getMD5FromString)
icePub_getMD5FromString(buff2,buff);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox(buff);
原型:
int WINAPI icePub_getMD5FromFile(char *strFilePath,char *strResult)
输入:strFilePath 待MD5的文件名
输出:strResult MD5结果串,32字节
返回码:
char buff[1024];
typedef int (WINAPI ICEPUB_GETMD5FROMFILE)(char *strFilePath,char *strResult);
ICEPUB_DESDECRYPTIONSTRING *icePub_getMD5FromFile = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getMD5FromFile=(ICEPUB_DESDECRYPTIONSTRING *)GetProcAddress(hDLLDrv,"icePub_getMD5FromFile");
}
if(icePub_getMD5FromFile)
icePub_getMD5FromFile("D:\\icePubDLL.dll",buff);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox(buff);
原型:
int WINAPI icePub_sha1FromString(char *strData,char *strResult)
输入:strData 待处理的文本串
输出:strResult SHA1结果串,40字节
返回码:
char buff[1024];
char buff2[1024];
strcpy(buff2,"Kiss Years's Scar, Strangeness Far Snivel, Between Hart And Head, Cloud And Mist Come And Go.");
typedef int (WINAPI ICEPUB_SHA1ROMSTRING)(char *strData,char *strResult);
ICEPUB_SHA1ROMSTRING *icePub_sha1FromString = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_sha1FromString=(ICEPUB_SHA1ROMSTRING *)GetProcAddress(hDLLDrv,"icePub_sha1FromString");
}
if(icePub_sha1FromString)
icePub_sha1FromString(buff2,buff);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox(buff);
㈣ 不可逆的加密算法是如何实现的
就好比没有反函数的函数一样,例如y = x * x,1和-1同时对应1,但y=1时,你就不知道x=1还是-1,这样就搞出了个分叉的,如果加密时有多个像这样的无反函数的函数,那么可能性就很多,就不知道那个是正确的
㈤ 不可逆加密算法的坏处 为什么需要可逆算法来加密
比如说再做接口的时候 访问接口需要带参数但是明文不安全 如果用不可逆的加密在参数传到接口后无法解密也就无法得知参数内容接口就无法使用 所以在做接口的参数传递的时候加密参数必须要用可逆也就是可解密的方式去做 目前可逆的加密一般都是非对称的加密方式比如RSA
㈥ 什么叫不可逆函数
不可逆加密算法
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。
摘自:http://ke..com/view/7600.htm
关于md5算法简述,请参见http://ke..com/view/706946.htm
㈦ 关于加密算法加密后不可逆的疑惑
只要是不太差的加密,都是不可逆的。
加密的主要手段有混淆与信息丢失。
前者加入大量的可能性组合,后者则丢弃了原加密的某一些内容,来掩饰加密算法。
要知道的是不可逆加密,不是为了获取原文,而是为了验证。
举个最简单的不可逆加密:
对于加密前的字符串,可以选取一方法数字化,假如数字化为8位。
ABCDEFGH 是个8位数,然后通过加密算法,让它乘上N次方,取最后8位,再减掉M,就得出一个数字。
然后在由生成随机8个数字,按预设的方法这8位数里插入,即可生成一个16位的加密字符串。
将16位字符,按一定的码表(如果按a→z,也容易猜测,这里也是一层加密,即混序码表)进行替换成字母。
如第一位按字母表进行替换,第2位,按第一位开始接下去计算的位数字母替换,就能保证用到26个字母。
即可生成16位加密后的字母密码。
而且加密后的字符是不能还原回去的。
甚至可以是更多的数字,按照预设的方式混乱加密后的字符,进行干扰。
输入16位密码解密时,先去除预设的8位干扰码,逆向换算后,得出字符,进行比较即可。
此加密方法较为简单,只是一个思路。
㈧ 哈希加密为什么是不可逆的
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。
不可逆就是假如有两个密码3和4,我的加密算法很简单就是3+4,结果是7,但是通过7我不可能确定那两个密码是3和4,有很多种组合,这就是最简单的不可逆,所以只能通过暴力破解一个一个的试
㈨ 为什么哈希算法是不可逆的
这个HASH算法不是大学里数据结构课里那个HASH表的算法。这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突。所谓不可逆,就是当你知道x的HASH值,无法求出x;所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。这两条性质在数学上都是不成立的。因为一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,它们的hash值都相同。MD5和SHA做到的,是求逆和求冲突在计算上不可能,也就是正向计算很容易,而反向计算即使穷尽人类所有的计算资源都做不到。我觉得密码学的几个算法(HASH、对称加密、公私钥)是计算机科学领域最伟大的发明之一,它授予了弱小的个人在强权面前信息的安全(而且是绝对的安全)。举个例子,只要你一直使用https与国外站点通讯,并注意对方的公钥没有被篡改,G**W可以断开你的连接,但它永远不可能知道你们的传输内容是什么。
㈩ MD5的加密原理,为什么不可逆
MD5 是HASH算法。不可能逆的。
说个简单的比方,你就懂了。
123456789ABCDEFGHI。。。。。N 很多个1024个字节的数据
算完的MD5值只有16个字节 你说能从16个字节还完成1024个数据吗?
一般只是用来进行加密比较结果用的。