这怎麽可能?我不能让Ruby给我和MD5一样的MD5,也找不出.我考虑过编码,但似乎我已经设法将每个文件保持在相同的格式。
PHP代码:(结果: bfa7df865d9f4aff62c4643d0e1cb33b)
echo md5("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9");带有摘要的Ruby代码-MD5:(结果: bd53907a1b47e9a381ee663ec75b59f4)
require 'digest/md5'
puts Digest::MD5.hexdigest("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9")带有hmad-md5的Ruby代码:(结果: d41d8cd98f00b204e9800998ecf8427e)
require 'hmac-md5'
puts HMAC::MD5.new("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9").hexdigest发布于 2013-02-15 17:55:03
用单引号代替双引号
Digest::MD5.hexdigest('9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9')发布于 2013-02-15 18:25:13
正是"#@“的组合使得它希望将字符串末尾的”@akskd9 9“作为变量来处理。
例如:
@akskd9 = "foobar"
puts "9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9"
=> 9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@foobar..without中的#,然后忽略@符号:
@akskd9 = "foobar"
puts "9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@@akskd9"
=> 9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@@akskd9但是,...interesting在#之后没有{.},它将字符串的其余部分作为变量处理。
@ak = "foobar"
puts "9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9"
=> 9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@https://stackoverflow.com/questions/14900487
复制相似问题