AES 动态生成秘钥
程序员文章站
2022-03-21 11:49:37
...
1:方法一
通过账号+日期进行AES128位加密,取其前面16位,生成根密钥,
在根据数字1-9,字母a-z,特殊符号:[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]
后16位规则如下:
N=数字
Z=字母
T=特殊字符
x=数组下标,初始值1 (周一至周末 初始值变化为1-7)
ScrKey=生成秘钥
ScrKey=Nx+Zx+Tx
ScrKey+=N(x+1)+Z(x+1)+T(x+1)
ScrKey+=N(x+2)+Z(x+2)+T(x+2)
以此类推直到16位字符 若
Nx大于9时,则第一次取最大,第二次以后的按照最大值减去Nx生成的位数
ScrKey=8+G+$
ScrKey+=9+N+|
ScrKey+=(9-2)+U+,
以此类推直到16位字符
密钥=根密钥+ScrKey
密钥=密钥 MD5加密生成32位
2:方法二
账号+日期进行AES128位加密,取其前面16位,生成根密钥。
根据该方法生成后16位字符,进行Base64编码获取其前面16位字符
根据日期偶数日和奇数日来替换密钥规则
偶数日:
密钥=根密钥+Key
奇数日:
密钥=Key+根密钥
最后:
密钥=密钥 MD5加密生成32位
通过账号+日期进行AES128位加密,取其前面16位,生成根密钥,
在根据数字1-9,字母a-z,特殊符号:[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]
后16位规则如下:
N=数字
Z=字母
T=特殊字符
x=数组下标,初始值1 (周一至周末 初始值变化为1-7)
ScrKey=生成秘钥
ScrKey=Nx+Zx+Tx
ScrKey+=N(x+1)+Z(x+1)+T(x+1)
ScrKey+=N(x+2)+Z(x+2)+T(x+2)
以此类推直到16位字符 若
Nx大于9时,则第一次取最大,第二次以后的按照最大值减去Nx生成的位数
ScrKey=8+G+$
ScrKey+=9+N+|
ScrKey+=(9-2)+U+,
以此类推直到16位字符
密钥=根密钥+ScrKey
密钥=密钥 MD5加密生成32位
2:方法二
账号+日期进行AES128位加密,取其前面16位,生成根密钥。
根据该方法生成后16位字符,进行Base64编码获取其前面16位字符
根据日期偶数日和奇数日来替换密钥规则
偶数日:
密钥=根密钥+Key
奇数日:
密钥=Key+根密钥
最后:
密钥=密钥 MD5加密生成32位