草庐IT

Passwords

全部标签

php - 密码验证

使用mysql和php检查密码以使用用户名和密码查询数据库(当然是在清理之后)并在没有返回任何行时记录失败尝试时是否有任何原因/值与使用用户名查询数据库然后比较返回密码字符串?编辑:对于那些在下面提到它的人,密码是在数据库中散列的。 最佳答案 如果我的理解正确,您想知道比较以下结果之间是否存在差异:$results=mysql_query("SELECTnameFROMusersWHEREname=$properlyEscapedNameANDpass=$properlyEscapedPassword");if(mysql_num_

java - Java/Mysql服务器程序中邮箱账号密码存储

我处于一个棘手的情况,我正在编写一个应用程序,使用我公司的电子邮件帐户向客户发送电子邮件。这里的问题是我必须有帐户密码才能使服务器上的邮件服务从该帐户发送电子邮件。我知道密码永远不应以纯文本形式存储,尤其是用于重要电子邮件帐户的密码。这里的困境是程序需要有实际的纯文本密码来发送电子邮件,所以它需要存储在程序可以访问的地方。该程序使用MySQL数据库存储信息,因此我想到了三个选项:1)将密码存储在程序的内存中,即一个私有(private)的finalString字段。2)服务器上的一个文件,可以从中读取密码3)MySQL数据库中的某处。我认为1是最安全的选择,但是有没有人有办法处理这种情

python - 散列密码从不淡化

我正在使用flask微框架并使用msyql后端手动设置身份验证。我的sql脚本以这种数据类型存储散列密码:VARCHAR(50),在它由generate_password_hash函数生成之后:`Password`VARCHAR(50)NOTNULL,我认为VARCAHR(50)绰绰有余...这些是我正在使用的以下库:fromwerkzeugimportcheck_password_hash,generate_password_hash@app.route('/login/',methods=['GET','POST'])deflogin():"""Logstheuserin."""i

php - 使用返回 0 的查询行比较 mysql 密码哈希(不工作)

我正在使用mysql数据库为我的网站创建一个登录系统。当用户注册时,它使用以下方式将密码保存到数据库中:$password=hash("sha512","somesalt".$password."moresalt");然后当我登录时,我使用相同的哈希函数将输入的密码与数据库中的密码进行比较。为了比较我使用的数据库:$query=mysql_query("select*fromuserswherepassword='$password'ANDemail='$email'",$connection);$rows=mysql_num_rows($query);if($rows==1){//d

mysql - 如何加密论坛注册的用户密码?

加密phpBB或MyBB论坛注册用户密码的最安全方法是什么?我不希望任何人能够访问用户密码,即使是那些管理MySQL数据库的人,也不希望有人设法破解数据库以使其无法查看它们。我只希望注册的用户知道他们的密码。 最佳答案 除了一件事,我完全同意FedericoRazzoli的回答。实际上,哈希必须在上游执行,无论如何都不能在数据库级别执行(因此您的问题可能与主题无关)。然而,就安全性而言,简单地使用哈希函数是不够的。你仍然容易受到dictionaryattacks的攻击,rainbowtable攻击,以及一些通过频率分析的攻击。必须至

php - 使用单个查询和每个用户密码 salt 的用户登录

我决定使用存储在数据库中的每个用户盐来实现用户登录。salt以密码为前缀,该密码使用SHA进行哈希处理并存储在数据库中。在过去,当我不使用盐时,我会使用典型的方法来计算查询返回的行数,该查询使用用户输入的用户名和密码。但是,对于每个用户盐,您需要先获取盐,然后才能将其与存储的密码哈希进行比较。因此,为了避免有两个查询(一个用于获取salt,另一个用于验证输入凭据),我决定根据输入的用户名在单个查询中获取salt和散列密码。有点像SELECTusers.salt,users.passwordFROMusersWHEREusername=?'然后在服务器端代码(PHP)中,我将salt与输

php - MariaDB 在 `authentication_string` 表中同时具有 `Password` 和 `mysql.user` 字段

我安装了MariaDB,它是Arch(Antergos)Linux中MySQL的默认包。我还执行了mysql_secure_installation并更改了root密码。之后,我安装了PHPMyAdmin并尝试登录仪表板,但无法使用root帐户登录,因为明显的“错误密码”感觉很奇怪,因为我肯定知道密码是什么。多次尝试失败。过了一会儿,我受够了,并尝试使用--skip-grant-tables方法更改密码。现在因为我的MySQL版本是最新的,而不是Password字段,你现在有authentication_string。因此,我将authentication_string更改为新的PAS

java - 如何在 Java 中执行 MySQL UNHEX() 函数

我试图从字符串中获取Java中的MySQL密码哈希,所以我用谷歌搜索了一下,发现了MySQL中的PASSWORD()是如何工作的:SELECTSHA1(UNHEX(SHA1('test')));给出与相同的结果SELECTPASSWORD('test');有了这个我继续。我编写了一个将字符串转换为SHA1哈希的方法,该方法非常有效(测试了几个不同的字符串,得到与MySQL中的SHA1(str)相同的结果)接下来要做的是UNHEX()方法。我现在卡住了。我目前的方法:publicstaticStringtoMySQLPasswordHash(Stringstr){Stringhash1=

mysql - ProFTPD 如何读取使用 MySQL ENCRYPT() 函数加密的密码?

我已经设置了ProFTPD,以便它使用mod_sql_mysql后端。在我将用户插入SQL数据库之前,一切正常。为此,我使用了以下查询:INSERTINTO`auth`.`users`(`userid`,`passwd`,`uid`,`gid`,`homedir`,`shell`)VALUES('username',ENCRYPT('bluefish'),'999','999','/dev/zero','/bin/laden');我可以很好地登录我的帐户,但我真的不明白ProFTPD如何读取加密密码“bluefish”,因为如果没有提供盐,MySQL会使用随机盐。每次ProFTPD使用

mysql - MySQL 中的加盐和散列密码

我正在寻找一种使用盐来存储和验证mysql密码的方法。我无法访问PHP或任何其他加密软件。我知道PASSWORD()函数,但不允许加盐。还有其他选择吗? 最佳答案 我假设既然你在谈论盐,你真的是指哈希,这是一种单向密码学形式,而不是加密。哈希保证给定的输入值总是产生相同的输出值。使用安全哈希算法,除了尝试哈希函数中的每个明文值之外,没有更好的方法来导出原始明文。虽然SHA1可能足以保护许多系统的密码,但肯定有更好的哈希算法。然而,SHA1在MySQL中可用。虽然SHA1()MySQL函数不接受单独的加盐参数,但您仍然可以加盐您的密码