1
crazyzzm 2018-06-11 16:07:07 +08:00 1
简单的加减乘除混合就行
|
2
zhicheng 2018-06-11 16:11:19 +08:00 via iPhone
所有的字符串都可以转换成一串组数字。
|
3
hyq 2018-06-11 16:12:21 +08:00
rot13
|
4
cctv1005s927 2018-06-11 16:12:54 +08:00
压缩算法了解一下?
|
5
zhujinliang 2018-06-11 16:15:32 +08:00
打个表,一共 5 个数字的话就做 5 个数组,每个数组表示从 0 到 9 的替换关系,比如[9,7,5,3,1,0,8,6,4,2]表示用 9 替换 0,7 替换 1,5 替换 2...每位做一个表,加密时正向替换,解密时逆向替换
|
6
moln 2018-06-11 16:18:45 +08:00
直觉告诉我这样的加密安全性很低
|
7
moln 2018-06-11 16:22:21 +08:00
生成一个等长的伪随机数做异或运算吧,解密的时候生成同样的伪随机数再异或一次就行了
|
8
VoidChen 2018-06-11 16:30:44 +08:00
借个楼问下有没有相关的文本压缩算法
|
9
tomychen 2018-06-11 16:32:57 +08:00
我说 xor 会挨打不 (逃
|
10
fcce 2018-06-11 16:35:34 +08:00
xor
|
11
pelloz 2018-06-11 16:38:15 +08:00
恺撒加密,安全性=无
|
12
shakoon 2018-06-11 16:40:14 +08:00
楼主你说的这不叫加密,叫散列,或哈希,安全性基本不能保证
|
13
annielong 2018-06-11 16:46:57 +08:00
以前记得有个 6*6 的网格加密方法,本质是纸上游戏,但是可以转换成电子版,首先做一个 6*6 的网格,然后分成 3*3 的 4 个,每个 3*3 里面写上 1-9,然后按数字顺序 1-9,从每个 3*3 里面涂掉一个数字,一直到每个 3*3 里面只剩一个数字,这时候把数字格扣掉,使用的时候把 6*6 的网格放在纸上,在扣掉的洞里面写字,写完旋转 90 度继续写,直到写满 36 个字符,
|
14
liberize 2018-06-11 17:23:26 +08:00
ROT13 +1
|
15
oott123 2018-06-11 23:00:21 +08:00
1. 编码:把你要加密的数字用二进制表示。
2. 加密:应用任何密码学算法加密。 3. 解码:把加密后的二进制结果用十进制表示。 同理,可替换任何编码解码算法达成你的目标。 |
16
stillwaiting 2019-07-30 15:09:05 +08:00
偶然搜索到这个主题。。
参考下 https://github.com/idealista/format-preserving-encryption-java https://en.wikipedia.org/wiki/Format-preserving_encryption 这个实现的应该是 NIST 的 FF1 和 FF3 要实现其他保持特有格式,比如信用卡号、日期,需要参考下相关论文,目前没有看到相关实现 |