gpt4 book ai didi

mysql - 选择使用 MySQL 显示 Mysql::Result,而不是我的值

转载 作者:数据小太阳 更新时间:2023-10-29 08:41:00 25 4
gpt4 key购买 nike

我正在尝试用 Ruby 制作一个简单的命令行用户身份验证系统。
我正在使用 MySQL 来存储用户信息。
我决定将密码存储为 MD5 哈希值,主要是因为它很简单。
我现在不想要任何疯狂的安全措施,我只是希望它能正常工作。
但是,当我在 Ruby 中使用 select 语句提取散列以便我可以将它与用户输入的任何散列进行比较时,它不会以相同的 32 字符格式出现!

当我使用 MySQL 选择哈希值时:

 SELECT password FROM users WHERE username = 'admin';
+----------------------------------+
| password |
+----------------------------------+
| d456c1f6fa85ed2f6a26b15139c6ddc2 |
+----------------------------------+

但是当我使用 Ruby 时..

 con.query("SELECT password FROM users WHERE username = 'admin'")
#<Mysql::Result:0x950b208>

我以前从未真正编写过任何程序,并且非常喜欢 Ruby。
我已经在谷歌上搜索了两天,但似乎找不到任何东西。
如果这是一个非常简单的修复,我很抱歉,但我似乎无法在任何地方找到它。
我也很喜欢关于更好的方法来完成这个小项目的建议!提前致谢:)

最佳答案

看起来您只需要处理查询的结果。 query 的返回值是一个结果集对象:

rows = con.query("SELECT password FROM employee WHERE username = 'admin'")
rows.each do |row|
puts row[0]
end

关于mysql - 选择使用 MySQL 显示 Mysql::Result,而不是我的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com