1
blless 2018-01-13 22:03:43 +08:00 via iPhone 1
translate
|
2
mochanight OP 小白一个 想到的就是 a[-1] 一个个的 if 替换 不知道有什么简单的方法吗
|
3
blless 2018-01-13 22:05:10 +08:00 via iPhone 1
额…好像不行 translate 是单个字符映射
|
4
blless 2018-01-13 22:05:53 +08:00 via iPhone 1
直接用字典吧…
|
5
mochanight OP @blless 求例子
|
6
blless 2018-01-13 22:12:01 +08:00 via iPhone 2
我用手机 只能大概写一下,
strmap ={"0":"30",…} src ="0234" str.join([strmap[x] for x in str]) 好久没写 有点忘了 手机敲代码可真难受 |
7
HypoChen 2018-01-13 22:12:38 +08:00 1
num_map = {
"0": "30", "2": "3F", "3": "3D", "4": "35", } a = '0234' result = "".join([num_map[n] for n in a]) 虽然蠢,但有效 /w\ |
8
MonoLogueChi 2018-01-13 22:17:22 +08:00 via Android
你是要求能加密,还是加密之后还可以再解密。如果不需要解密就很简单了,利用已有的加密算法很容易实现的,比如我最近设计的一个登录系统用了 md5 加密。如果需要可以解密的话,可以自己建立一套运算规则,比如利用 ascii 码做一个简单的运算。但是自己建立的规则安全性不知道怎么样。
|
9
boywang004 2018-01-13 22:20:40 +08:00
如果能映射到 uint64 空间,建议先做跳码再转换。
|
10
awfe 2018-01-13 22:34:17 +08:00
既然是都是数字,放数组里吧,数字直接当索引
|
11
woscaizi 2018-01-13 22:34:32 +08:00 via iPhone
建立数字和加密字符串的对应 map。
字符串转字符数组。 循环,利用查表法,拼接新的加密串。 不过应该针对所有的字符串都循环相同的次数。 比如人为指定循环次数为 100 次。 这样每次加密用的时间都相同。 |
12
draguo 2018-01-13 22:43:05 +08:00
|
13
liuminghao233 2018-01-13 22:55:15 +08:00 via iPhone
一个 for 不就搞定了吗
|
14
s7ven 2018-01-13 23:19:43 +08:00 via Android
哈夫曼,还能压缩
|
15
WordTian 2018-01-13 23:22:51 +08:00 via iPhone
最简单的方法就是做个映射集合,然后对要加密的字符循环替换。。。
|
16
akira 2018-01-14 02:15:08 +08:00
@MonoLogueChi 自己设定的规则,除非是你数学很牛逼,不然一般都不如现成的
|
17
geelaw 2018-01-14 02:52:51 +08:00 via iPhone
这是哪门子加密呃,几乎上面每一层我都没看出来这玩意儿和加密的关系
|
18
rogwan 2018-01-14 08:07:51 +08:00 via Android 1
用 hashids.org 最省事
|
19
580a388da131 2018-01-14 09:00:38 +08:00
没看明白究竟问题在哪
难道是想问 字符串怎么打散然后循环替换? |
20
uolcano 2018-01-14 09:01:05 +08:00
自己弄着玩就算了,真要加密是要经得起密码分析(cryptanalysis)的。一般都是用现有的算法,比如 DES/AES/ECC/RSA,你自己搞出来一套是很难的。
|
21
jxie0755 2018-01-14 10:20:00 +08:00
str.maketrans(x[, y[, z]])
str.translate |
22
cbiqih 2018-01-14 13:07:41 +08:00
temp = {'0': '30', '2': '3F', '3': '3D', '4': '35'}
a = '0234' print(''.join(map(temp.get, a))) |
23
FeiyuWang2017 2018-01-14 15:32:57 +08:00 via Android
这不就是那个 Python challenge 第二题吗
|
24
FeiyuWang2017 2018-01-14 15:44:19 +08:00 via Android
|
25
sobigfish 2018-01-14 17:51:29 +08:00
@MonoLogueChi #8 噗~“设计” “ md5 加密”
好高级啊 |
26
MonoLogueChi 2018-01-14 19:04:51 +08:00 via Android
@sobigfish 这个东西并不高级啊,你想说啥就直说
|
28
sampeng 2018-01-15 11:52:35 +08:00
这和加密什么关系。。。。。加密肯定用已经成熟的加密方案。否则就是自己找死
|
29
sampeng 2018-01-15 11:52:52 +08:00
ps。。md5 不是加密。。。。
|