js开头的密文是什么
的有关信息介绍如下:如果是定长的都是8位的话,这里就可能是一种单向加密的方式,而就是说,只存在从明文向密文进行的一个加密过程,不存在一个由密文向明文的解密过程,这种单向加密又称非可逆性加密,多用于校检式对比.校验显然不须要知道明文就可以了,所以采用的是单向加密,比较代表性的就是MD5,SHA-1等算法. 因为明文一般是4-16位,而加密后的密文只有8位,若是一个双向加密,显然明文长度大于密文长度,这里其实是说,明文的容量大于密文的容量,不管是那种加密算法,都会造成大量的"碰撞"!而一个双向加密算法的好坏,碰撞机率是一个非常重要的因素的!显然,若是只有8位时,只能说是一个不太好的校验方式算法,也就是单向算法的.所谓的碰撞就是指的有两个不同的明文会得到相同的密文,那么这两个明文就发生了碰撞.这个机率越大,则算法的可行性越差! 而若是单向校验,也就是单向加密,这里虽然碰撞机率大,但可以用程序去做一下控制的!比如你输入三次密码如果校验不成功,则将帐户进行封冻等都是较好的手段!而双向加密,别人可以直接进行算法测试,不会依赖于程序,则很容易破解的.这与密码设计的初衷是背离的. 如果是8位定长,也就是说不管你是多少位密码,这极可能是MD5加密或是MD5的前身MD4与MD2加密.也可能是程序设计者自己设计的算法!但绝对是一个单向加密的! MD5你可能见过16位的和32位或者更多的.其实你看一下其中的具体实现就知道了,他是四组值进行运算的,最终这四组若是b+c(第二组与第三组组合)就是MD5的16位算法.若是a+b+c+d四组全组合时就是32位的算法.但如果系统对于密码强度大小不是很大时,为了省却计算机的运算时间,完全可以只有用其中四组中的一组,也就是所能看到的8位的.这种算法是MD5,但只取的是其中的一组值的.而MD2与MD4恰恰就是与此类似的!因为安全性不强的缘故,现在已经很少或是没有地方使用了!至少现在的系统中我还没有看到过.