算法摘要
此算法为更加方便简单快捷的密码动态可逆的加密算法。
第一步:设计一个10*10的密码表(用于增加密码位的密码银子和作为抑或运算的加密因子)
第二步:获取用户密码。
第三步:获取(16-(减)密码长度)对组随机数对(随机数为0到9),按照随机数对(两个数分别为行和列)从密码表中获取密码因子并将获取的密码补齐至16位。
第四步:将16位密码因子随机打乱(自定义规则)
第五步:获取16组随机数对(0到9)并将16位密码因子按照16组有序数对(即随机数对(两个数分别对应密码表行和列))对应的密码表中的加密因子进行抑或。
第六步:获取16个随机数。
第七步:将第五步获得的16位密码因子按照第三步规则补齐至32位。
第八步:将32位密码因子随机打乱(自定义规则)
第九步:获取32组随机数对(0到9)并将32位密码因子按照32组有序数对对应的密码表中的加密因子进行抑或。(随机数对(两个数分别对应密码表行和列))
第十步:将密码因子转换成ASCII。按一定规则将这串数字打乱(规则自己定)。
算法优点
1.对于传统的加密方案此算法更加容易理解
2.多次随机和自定义规则增加了破解的难度
不足之处
客户端与服务器端数据量增加。需要传输大约16*2+16*2+16+32*2+4*32个数字、
感谢大家提出宝贵的意见