【发布时间】:2013-02-15 17:52:32
【问题描述】:
这怎么可能?我无法让 Ruby 为我提供与 PHP 相同的 MD5,也无法解决这个问题……我认为是编码,但似乎我已经设法让每个文件都保持相同的格式。
PHP 代码:(结果:bfa7df865d9f4aff62c4643d0e1cb33b)
echo md5("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9");
带有 Digest-MD5 的 Ruby 代码:(结果:bd53907a1b47e9a381ee663ec75b59f4)
require 'digest/md5'
puts Digest::MD5.hexdigest("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9")
带有 HMAC-MD5 的 Ruby 代码:(结果:d41d8cd98f00b204e9800998ecf8427e)
require 'hmac-md5'
puts HMAC::MD5.new("9jdaksjdfosdjsljz91m1wms0zkzd0k0askd1m2l3!@3@#@akskd9").hexdigest
【问题讨论】:
-
! 后面的换行符可能与它有关
-
马克,这是我不知道的控制序列吗?因为我根本没有换行符......除非它是通过像 \n 这样的控制序列或其他东西,我没有......
-
您的帖子中显示的代码中似乎有换行符
-
不,它是使用单引号修复的,见下文。这似乎是一个奇怪的红宝石怪癖。