plist_values['HashData'].join("").unpack('m')[0].each_byte do |b|
hash_decoded << sprintf("%02X", b)
end
他の言語に翻訳する必要があります。私が理解したように、それは'HashData'配列のすべての内容を文字列に入れ、それをBase64からデコードしますが、次は何ですか?それが何をするのか、段階的な説明を書いていただけますか?前もって感謝します!
plist_values['HashData'].join("").unpack('m')[0].each_byte do |b|
hash_decoded << sprintf("%02X", b)
end
他の言語に翻訳する必要があります。私が理解したように、それは'HashData'配列のすべての内容を文字列に入れ、それをBase64からデコードしますが、次は何ですか?それが何をするのか、段階的な説明を書いていただけますか?前もって感謝します!
plist_values
(キーを持つもの)からbase64値をデコードし、'HashData'
印刷可能な16進数に変換します。
join("")
配列内のすべての文字列(または配列内の各要素が呼び出し時に返すものto_s
)を連結します。unpack('m')
ドキュメントから文字列をデコードします(そしてそれはbase64でエンコードされていると想定しています)。sprintf("%02X", b)
ドキュメントから、大文字の16進表現が返されます。hash_decoded << ..
文字列に16進表現を追加します肝心なのは、で結合された文字列の16進バージョン(大文字を含む)を表す文字列を取得することですplist_values['HashData']
。