由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 需要一个和用户相关的加密机制
进入Programming版参与讨论
1 (共1页)
b***i
发帖数: 3043
1
在Linux上用,希望有一个命令,可以加密一个重要的密码,然后这个加密后的结果希望
可以存到硬盘上。
这个加密的过程希望是和用户的登录密码相关的,比如需要sudo才能运行,然后只有该
用户能够加密解密,其他用户得到同样的加密后的文件无法解密。
有一种类似的机制是hardware key,这个秘钥是机器相关的。一般无法直接得到,而是
用一个盐得到一个相关的秘钥。这个相关的秘钥在不同的机器上是不同的。我要的是类
似的机制,就是我的盐是比如一个简单的字符串"encrypt",但是加密的时候需要用户
本人参与运行,得到的结果本人解密才能恢复。这样的加密结果我觉得存到硬盘上不要
紧了吧?
使用过程如下
# my_enscript $1 $2 # 参数1是输出密码到文件路径,$2是被加密的文件
key=$(create_key) #生成一个密码
thistool $key "encrypt" > $1 #这里encrypt是盐
...继续用这个秘钥来加密文件$2
# my_descript $1 # 参数是保存密码的路径 $2是被加密的文件
key=$(thistool $1 "encrypt") #这里encrypt是盐
...$2 继续使用解密过程
$ sudo my_script
[sudp] password for ...:用户此处输入密码
由于是对称加密,加密和解密的方法一样?
c*****m
发帖数: 1160
2
直接把这个密码明文写在每个用户的 home 目录,把权限设置成400 就好了,只有本用
户能够读,其它用户都不能读。
c*****m
发帖数: 1160
3
sss-keygen 就能产生类似的 key,一般存在 home/.ssh 目录下。 也可以加盐的。
1 (共1页)
进入Programming版参与讨论