2017-09-19 180 views
0

私は、aes-256-ecbを使って暗号化された文字列を解読するために、16進形式を取得したいと思う次のバイト配列を持っています。 OpenSSLを使用してIを確認するこれをチェックするためにPowershellのバイト配列を16進数に変換する

を(あなたは "ConvertFrom-SecureString" 機能でキー引数を指定した場合PowerShellは、AES暗号化を使用しています):

エコー 'mysecretdata' | opensslのENC -d -aes-256-ECB

16進数文字列が長すぎる 無効六角キー値

ある-Kの303534303438303439303939303438303938303937303435303530303530303937303537303435303439303439303130310a私は何をしないのですか?

ありがとうございました。

答えて

0

あなたはそれが文字列を連結する-join演算子を使用し、その後、進表現です取得するには、個々のバイトにX2フォーマット文字列を使用することができます。

$bytes = 0,54,0,48,0,49,0,99,0,48,0,98,0,97,0,45,0,50,0,50,0,97,0,57,0,45,0,49,0,49,0,101 
$hexString = ($bytes|ForEach-Object ToString X2) -join '' 

(それはあなたの実際のキーだ場合、あなたはお控えすることをお勧めしますそれを公に知っているので、今度はもう一度使っているから)

+0

ありがとうマティアス!今16進のキーの値が正しいように見えるが、今私は解読エラーが表示されます。悪い解読 140097927906968:エラー:0606506D:デジタルエンベロープルーチン:EVP_DecryptFinal_ex:間違った最終ブロックの長さ:evp_enc.c:518: ծGPQ3¬S/ 2d)k〜Jjz + - – d3sync

+0

あなたの例では、解読しようとしているようです平文(意味がありません)とキー –

+0

として暗号文を供給実は私はこの文字列を使用しようとしています(以前の1は一例あった):$エコー76492d1116743f0423413b16050a5345MgB8AHoATQBZAEMAVgAyAG4ATQBOAGIAZABRAHIAMAA0AEUANgBKAFUAUABXAHcAPQA9AHwAYQAzADkANAAwADMAMQAzAGMAMgA1AGUAZAAxAGQAZQA1ADUAZgA2AGEAMgA2ADQAYQA2ADAAZQA5AGYANQBjAGEANgBkAGYAZQA1ADkAYQA5AGIANgBmAGYAYgBjADQAZgBiADcAMABiADAAYgBhADQAMABkADIAMAA3AGEAZgA = | opensslのENC -d -aes-256-ECB -K 0036003000310063003000620061002D0032003200610039002D003100310065 )2AP $ 悪い解読@ 140645963531928:エラー:0606506D:デジタルエンベロープ・ルーチン:EVP_DecryptFinal_ex:間違った最後のブロック長:evp_enc.c:518: – d3sync

関連する問題