首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby MD5不兼容--这怎么可能?

Ruby MD5不兼容--这怎么可能?
EN

Stack Overflow用户
提问于 2013-02-15 17:52:32
回答 2查看 569关注 0票数 2

这怎麽可能?我不能让Ruby给我和MD5一样的MD5,也找不出.我考虑过编码,但似乎我已经设法将每个文件保持在相同的格式。

PHP代码:(结果: bfa7df865d9f4aff62c4643d0e1cb33b)

代码语言:javascript
复制
echo md5("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9");

带有摘要的Ruby代码-MD5:(结果: bd53907a1b47e9a381ee663ec75b59f4)

代码语言:javascript
复制
require 'digest/md5'
puts Digest::MD5.hexdigest("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9")

带有hmad-md5的Ruby代码:(结果: d41d8cd98f00b204e9800998ecf8427e)

代码语言:javascript
复制
require 'hmac-md5'
puts HMAC::MD5.new("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9").hexdigest
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-15 17:55:03

用单引号代替双引号

代码语言:javascript
复制
Digest::MD5.hexdigest('9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9')
票数 7
EN

Stack Overflow用户

发布于 2013-02-15 18:25:13

正是"#@“的组合使得它希望将字符串末尾的”@akskd9 9“作为变量来处理。

例如:

代码语言:javascript
复制
@akskd9 = "foobar"
puts "9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9"

=> 9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@foobar

..without中的#,然后忽略@符号:

代码语言:javascript
复制
@akskd9 = "foobar"
puts "9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@@akskd9"

=> 9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@@akskd9

但是,...interesting在#之后没有{.},它将字符串的其余部分作为变量处理。

代码语言:javascript
复制
@ak = "foobar"
puts "9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9"

=> 9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14900487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档