[加密算法] 有没有可以 ‘限制密文长度’ 且 ‘可逆’ 加密算法?

2019-01-29 16:07:24 +08:00
 lqzhgood
steam 账号丢了~ 我估摸着是撞库。
用 算法 代替 密码 的想法由来已久了,是时候行动了。

大致想法如下:
域名 /用户名等----------算法--------->密码----------- [秘钥 + 加密算法] ---------> 密文

虽然通过算法生成后的密码已经足够好了(至少不会被撞库),但是还是想一步到位。再用一个加密算法加固下。

因为准备再写一个 Chrome 扩展来解决密文生成的问题,所以准备用 js 现实,看了下 node 的库 cryptojs。
但是 AES 4 位秘钥 10 位密码 生成的密文 高达 44 位。。。。
一般密码填写仅允许 16 位。

实在对密码学不了解。。。。

在这里求一个
4~6 位秘钥 + 10 位左右文本 生成的密文长度能在 ‘ 16 位’ 以内的 ‘可逆’ 加密算法。。。
10680 次点击
所在节点    程序员
68 条回复
1010543618
2019-01-29 18:13:44 +08:00
我都是根据域名生成密码,但改密码新旧密码不能相同就头疼了
xxgirl2
2019-01-29 18:50:29 +08:00
ubuntu 自带密码管理器 pass,使用 gpg 加密
likuku
2019-01-29 19:43:50 +08:00
想太多,密码学太艰深,即便搞清概念又能怎样?

买个密码管理软件,梳理一遍自己用的密码,每个服务统统换不同的高强度密码。酱紫才能实际解决问题。
Kagari
2019-01-29 19:47:45 +08:00
花密
2exploring
2019-01-29 19:51:08 +08:00
想弄出定长的结果,你可以做一次散列(散列的结果够长了吧),然后截取你要的长度就行了。

不过我还是要说,现成的密码管理软件多好,干吗要自己造轮子。。
ruixingchen
2019-01-29 19:51:34 +08:00
lastpass 解决问题,或者花蜜也行
2exploring
2019-01-29 19:52:38 +08:00
@2exploring 才发现你要可逆的,散列不行,当我没说。。。
codeklaus
2019-01-29 21:00:15 +08:00
要是只实现这个想法的话, 异或就行了啊
比如你的密文 0123456789, 随便搞个秘钥 j987, 你就 0123 xor j987, 4567 xor j987, 89 xor j9 这样. 你的文本是多少位密文就是多少位, 然后楼主拿这个密文当密码, 我理解的对不对?

但是还是推荐楼主使用密码管理............ 比如钥匙链这种
23f0baf3
2019-01-29 21:12:12 +08:00
https://github.com/emersion/passwordmaker 各种算法都有,还可自行修改结果(替换字符,加前后缀等)
gam2046
2019-01-29 21:29:06 +08:00
异或?

密码表?

原文与限定的最终长度太相近,并没有多余的空间来操作了。
AlphaTr
2019-01-29 21:51:50 +08:00
好几年前自己有类似的想法,供参考,就是用的哈希算法,不是可逆的; https://blog.alphatr.com/randpsw.html
shintendo
2019-01-29 22:13:09 +08:00
楼主,要是有“限制长度+可逆”的加密算法,你首先应该拿来做压缩工具
liberize
2019-01-29 23:36:30 +08:00
@flowfire RSA 了解一下,密文长度等于密钥长度,也就是固定的
kersbal
2019-01-29 23:46:01 +08:00
为何要可逆。。。另外,一句老话“不要自己写加密函数”
flowfire
2019-01-29 23:46:36 +08:00
@liberize #33 你要么就是对 RSA 有什么误解,要么就是对我的话有什么误解
flowfire
2019-01-29 23:47:17 +08:00
@kersbal #34 那句话是 密码学不要造轮子
liberize
2019-01-29 23:49:18 +08:00
密钥是固定的? RC4 密文长度等于明文长度,由于限制密文是 ASCII 字符,可以 RC4 以后做 BASE64
liberize
2019-01-29 23:56:49 +08:00
@flowfire 『就好比固定尺寸的盒子不可能装下所有东西』 信息论大家都学过,就不要卖弄了
楼主说的明文长度也是有限制的,而且比密文还短,他没有要求装下『所有东西』
Xs0ul
2019-01-30 00:12:20 +08:00
lz 想把随机生成的密码再次加密,来当做注册用的密码,这其实完全没意义吧?对网站来说还是个随机敲出来的乱码密码

除非你想防的是本地木马破解你的密码数据库
kersbal
2019-01-30 00:20:45 +08:00
@flowfire 容易造出个轮子看上去是圆的其实是方的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531620

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX