当您使用GNU / Linux时,密码(主要)在MD5和SHA中编写
操作系统在对密码进行encryption之前将SALT附加到该密码以避免字典encryption。
我的问题是,在密码之前或之后,SO是在什么地方附上SALT的?
例如,我的密码是: peter2011之前编写它,它确实:
saltpeter2011或peter2011salt ?
如何在Windows中使用Python修改密码到期?
在python中以root身份运行subprocess命令
Active Directory如何在设置新密码时比较用户以前的密码?
哪个代码集是/ etc / passwd存储的? 它可以是UTF-8吗? 用户名有什么限制?
期待,互动,然后再次期待
提前致谢。
我不知道你是否错过了我的问题,但我不是问Linux如何存储他的密码,我问的是如何引用它,我的意思是:
encrypt_in_md5(saltpeter2011)或者encript_in_md5(peter2011salt)
我知道/ etc / shadow文件存储为$ salt&encripted_password
提前致谢!
ssh无密码两台电脑一样的networking
如何使用cmd或pythonvalidationWindows密码?
这比这更复杂一点,涉及多轮的追加和散列。 最好只使用crypt(3)并让系统处理它。
这不像你想象的那么简单。
首先盐的使用方式取决于使用的散列函数。 你提到MD5,所以我们将采取这种情况。
您必须在glibc源代码中查看glibc / crypt / md5-crypt.c文件中的答案。
在那里你会发现,它首先做了类似md5(KEY $ 1 $ SALT),然后做md5(KEYSALTKEY),然后以奇怪的方式将它们混合在一起。 然后,基于密钥,salt和之前的结果进行更奇怪的迭代,最后在完成一些更多的字节混合之后。
如果您正在实施该系统,则完全取决于您。 根本不重要。
最可能的是unix做$1$SALTpeter2011 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。