rt,如题 aes 加密 json,现在要把加密后的结果 变成 19 位数,去生成邀请码,然后可以根据邀请码逆向出 string,然后可以去 aes 解密。 生成在邀请码的算法需要 long 类型。
解密:{"userId":"6414403168721254401","groupId":"6406533439465797633"}
1
tangtj 2019-04-24 11:47:14 +08:00
随机一个 long,存数据库。
|
2
cxtrinityy 2019-04-24 12:28:53 +08:00 via Android
要把非定长字符串(你的密文)转成定长数字怕是转不回去吧,参考 MD5,把密文转成二进制按 64 个 bit 一组连续性进行与操作最后可以得到一个 long
想逆向,参照楼上说法做个映射怎么样 |
3
LimeVista 2019-04-24 12:53:59 +08:00 via Android
以小换大?可逆,无视信息熵?不太科学吧,要不然就跟楼上说的数据库表映射,那样的话加密就没意义了。表设计的合理点就行吧。
|
4
feiyuanqiu 2019-04-24 13:00:47 +08:00 via Android
你这个方案有点像 jwt 啊
|
5
night98 2019-04-24 13:04:21 +08:00
逆向不了,数据库映射就行了。怕性能差就放缓存里
|
6
samcode 2019-04-24 14:21:24 +08:00
如果 Json 只有 userid 和 groupid 就好办
userId<<64|groupId 然后再加密这个 128 位数 |
7
fishioon 2019-04-24 20:32:23 +08:00 via iPhone
放缓存,邀请码再加个时效性
|