我正在尝试解密一个由另一个使用BouncyCastle库的Java程序加密的数字。
在Java中,我可以这样设置密钥:key = Hex.decode("5F3B603AFCE22359");
我正在尝试找出如何用Ruby表示相同的步骤。
我正在尝试解密一个由另一个使用BouncyCastle库的Java程序加密的数字。
在Java中,我可以这样设置密钥:key = Hex.decode("5F3B603AFCE22359");
我正在尝试找出如何用Ruby表示相同的步骤。
要获得 Integer — 只需使用 str.hex
。你可以通过多种方式获取字节数组:
str.scan(/../).map(&:hex)
[str].pack('H*').unpack('C*')
[str].pack('H*').bytes.to_a
对于一个字符串str
:
"".tap {|binary| str.scan(/../) {|hn| binary << hn.to_i(16).chr}}
str.scan(/../).inject(""){|binary,hn| binary << hn.to_i(16).chr}
。 - Brandon Yarbrough
.to_a
” 是不是多余的? 如果有人关心处理大字符串(10M十六进制数字)的性能:str.scan(/../).map(&:hex)
:1.061567秒,[str].pack('H*').unpack('C*')
:0.175744秒,[str].pack('H*').bytes.to_a
:0.149195秒。 - Cadoiz