2017-09-27 17 views
1

Pythonのhashlib.sha256機能のRと同等:私は私はRで次のPythonコードの出力を複製しようとしている

library(digest) 
digest("asdf", algo="sha256", serialize=FALSE) 
# "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b" 

:これは私のRコードである

import hashlib 

x = hashlib.sha256() 
x.update("asdf".encode("utf8")) 
print(x.digest()) 
# b'\xf0\xe4\xc2\xf7lX\x91n\xc2X\xf2F\x85\x1b\xea\t\x1d\x14\xd4$z/\xc3\xe1\x86\x94F\x1b\x18\x16\xe1;' 

x.digest()の代わりにx.hexdigest()を使用して、この同じ出力をPythonで得ることができます。私のコードでx.digest()の出力を得るにはどうしたらいいですか?

答えて

2

Pythonの出力はダイジェストの生のバイトです。 R digest関数は、raw引数でこれもサポートしています。

​​
+0

私はこれを既に試しておいたはずです。これは私が得た出力です: 'f0 e4 c2 f7 6c 58 91 6e c2 58 f2 46 85 1b ea 09 1d 14 d4 24 7a 2f c3 e1 86 94 46 1b 18 16 e1 3b' – ytk

+2

違いは、RとPythonの出力方法ですそれらは同じコードを表します。 –

関連する問題