arongnet 阅读(1250) 评论(3)

原贴见http://dev.csdn.net/develop/article/26/26215.shtm。由于我不是CSDN会员,因此在这里贴出我的反驳意见。

其实他的算法很简单,用一个随机数把一个字符串中的每个字符转换为两个字符并保存起来。由于对于每个字符处理过程都是一致的,用一个字符来解释加密、解密原理。

给定一个字符C(明文)和一个随机数J,这个随机数小于5(其实不超过7即可)。那么密文可以通过下面算法获得:

k = (C xor J ) mod 62; m = (C xor J ) \ 62; 注意,此时C xor J = k + 62 * m m = m * 8 + j ; 注意由于J小于等于5,因此他只占据m的低三位

此时的k和m就是加密后的密文。注意,此时明文可以通过k和m很容易的计算出来,算法如下:

J = m & 0x07 ;//获得j m = m >> 3; k = k + 62 * m; //加密算法中的 C xor J C = k xor J ;

从现代加密方法要求来说,明文到密文应该计算很简单,而反过来则很困难,或者至少需要额外信息(如密匙)才能揭密,而上面这个算法从明文到密文是随机的,而密文到明文倒是简单、易行的。所以说,这个加密算法绝对不能算一个好算法。希望要加密的朋友还是去找找DES之类的算法吧。


评论列表
smileonce
呵呵,防君子不防小人的加密算法
我的一个老同事(老指他比我年纪大的多^_^)说:他们给客户的授权是用异或算法加密的。

这种软件是靠售后服务赚钱的,没有售后的话就是白送也没人敢用(bug太多,需要人工上门解决)。

小刀人
re: 对CSDN上一个加密算法的评价
这些加密算法都应视为垃圾,不要看,更不要用。
KingV
re: 对CSDN上一个加密算法的评价
垃圾~~

发表评论
切换编辑模式