AES 动态生成秘钥

阅读更多
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位

你可能感兴趣的:(C#,算法,秘钥)