2017-01-22 5 views
1

MD5とSHA-1よりコンパクトな私のWebページに、JSONハッシュテーブルのキーとして使用したいので、ハッシュコードソリューションを適用したいと思います。16文字を超えるハッシュコードですか?

等価:16進数のMD5ハッシュを上位のベースシステムに変換するにはどうすればよいですか?単語がJSONハッシュのキーとして使用できるようになるまで、より高いほうが良いでしょう。それはJavaScriptでは、JavaScriptとは異なり進MD5ハッシュ(138600936100279876740703998180777611585)

の大きな小数の値を処理するため

"684591beaa2c8e2438be48524f555141".to_i(16).to_s(36) 
=> 668e15r60463kya64xq7umloh 

たとえば代わり​​に:

"684591beaa2c8e2438be48524f555141" hexadecimal MD5 hash I would prefer "668e15r60463kya64xq7umloh" which is a base 36 number and the values are equal. 

IはRubyで計算しました私は丸められた浮動小数点値を得ます。だから、MD5ハッシュごとに同じ36ベースの値が得られます。

答えて

0

ルビー

あなたは直接base64digestを返すことができます:

require 'digest' 

Digest::MD5.hexdigest 'your_page' 
#=> "a6b580481008e60df9350de170b7e728" 

p Digest::MD5.base64digest 'your_page' 
#=> "prWASBAI5g35NQ3hcLfnKA==" 

Javascriptを

すでに16進文字列を持っている場合は、このprevious answerからのコメントは正常に動作するようです:

btoa("a6b580481008e60df9350de170b7e728".match(/\w{2}/g).map(function(a){return String.fromCharCode(parseInt(a, 16));}).join("")) 
#=> "prWASBAI5g35NQ3hcLfnKA==" 
+0

私は見ていますが、私はウェブページ上で計算を達成したいJavaScript。 – Konstantin

+0

Rubyにタグを付けてRubyコードを表示したので、私は確信していませんでした。 –

+0

Thx、それは私が望むものですが、私はすでにmd5ハッシュを計算するためのmd5.jsライブラリを持っています。 – Konstantin

関連する問題