0

他のアプリケーションからのDES3暗号化メッセージを復号化したい。問題は、ルビーがバックスラッシュ表記を使用していることです。これは次のようになります。

\ xE7B8 \ xCF \ xFC \x9Fu\fkΖ\xB3\ u001As \ x93 \ xFF

そして私はそのようなものを受け取っています:

6613E58F24183FC60B2BB1A2EE9DA61A

ルビーで暗号化を使用する方法を説明しましたが、上記のように表記された場合の対処方法がわかりません。どういうわけか変換する必要がありますか?どんな助けでも大歓迎です。

4

2 に答える 2

1

String#unpack仕事をする必要があります:

> str = "\xE7B8\xCF\xFC\x9Fu\fkΖ\xB3\u001As\x93\xFF" # Use double-quotes
=> "\xE7B8\xCF\xFC\x9Fu\fkΖ\xB3\u001As\x93\xFF"
> str.unpack('H*')
=> ["e74238cffc9f750c6bce96b31a7393ff"]

逆の回避策は次のとおりです。

> str = ["6613E58F24183FC60B2BB1A2EE9DA61A"]
> str.pack 'H*'
=> "f\x13\xE5\x8F$\x18?\xC6\v+\xB1\xA2\xEE\x9D\xA6\x1A"
于 2013-01-28T14:24:58.640 に答える