Ruby'nin md5 ile PHP 5 md5 ham_çıktı bayrağı (ham bayt) çoğaltarak

1 Cevap php

Nedeniyle saçma bir soap kimlik doğrulama şeması ben karma bazı diğer parametreleri ile bir API anahtarı md5 gerekir. Ne yazık sağlanan tek örnek kod ben dipsiz buluyorum nedenlerle PHP ve yazılmış, bu md5 karma PHP opsiyonel ham_çıktı bayrağı kullanmanızı gerektirir (http://php.net/manual/en/function.md5.php) bu da (o zaman base64 kodlamak zorunda olduğu) ikili dönmesine neden olur.

Benim app Ruby yazılır ve ben gerek yoksa bir PHP dosyasına bu bölümünü ertelemek istemiyorum. Ancak, Ruby ikili karma geri almak için nasıl bulmak için görünmüyor olabilir. PHP normalde karma zaman, çıkış benim Ruby çıktısıyla eşleşen, ancak onlar için ne soruyorsun değil.

PHP:

<?php
  $encode = "test";
  echo md5($encode); // 098f6bcd4621d373cade4e832627b4f6
  echo "\n";
  // PHP5 - md5 with raw_output flag set to true - what I need to mimic in Ruby
  echo md5($encode, true); // binary that looks something like: ?k?F!?s??N?&'??
  echo "\n";
?>

Yakut:

require 'digest/md5'
encode = "test"
puts Digest::MD5.hexdigest(encode) # 098f6bcd4621d373cade4e832627b4f6

Herhangi bir yardım takdir edilmektedir.

1 Cevap

Sadece yerine digest kullanmak hexdigest:

puts Digest::MD5.digest(encode)