请教一个密码算法问题
发布于 6 年前 作者 bcao 15201 次浏览 来自 问答

要生成一个8位密码,要求根据输入的ID号(10位)、密码(6位)、开始日期时间(准确到小时)、失效日期时间(准确到小时) 而产生一个密码,此密码要能再解出来。现在不知如何才能实现,请有经验的大侠给点建议。谢谢!

如:

ID号: 0123456789

密码:123456

开始日期时间:2018年11月24日 8时

失效日期时间:2018年11月26日 8时


是根据以上条件生成一个密码,再解码。

5 回复

ID和密码都是纯数字 。

为什么要规定8位呢?等一个高手来解答

方法: 对id和时间按规则切分,做成数据字典,进行压缩。

1、id(6位数字)+密码(6位数字)=999999999999 的62进制(数字+大小写)=hBxM5A3

2、时间用从当日开始判断过了多少小时一般1位62进制就够了,过期小时是一般是常量可以定死在代码里站0位。

所以7+1=8位。

3、安全问题可以考虑动态话数据字典,也可以最终对结果加密。

这是不可能的,要求压缩的信息过长,8位是做不到的。

回到顶部