해독에 나쁜 마법 번호


12

4 월에 명령을 사용하여 파일을 암호화했습니다.

openssl enc -aes-256-cbc -salt -pass file:<passwordfile> < infile > outfil

이제 암호를 해독하고 싶습니다

openssl enc -d -aes-256-cbc -salt -pass file:<passwordfile> -in outfil -out infile2

그러나 나는 나쁜 마법 번호를 얻는다.

어제 동일한 매개 변수로 암호화 된 파일은 ok를 해독합니다.

무슨 일이 있었나요? 어쨌든이 보관 된 파일을 검색 할 수 있습니까?

답변:


6

OpenSSL <= 1.0.2로 암호화하고 OpenSSL 1.1.0으로 복호화하는 경우 다음과 같습니다.

https://www.openssl.org/docs/faq.html#USER3

비밀번호에서 키를 생성하는 데 사용 된 기본 해시는 1.0.2와 1.1.0 사이에서 변경되었습니다. -md md5암호 해독 명령을 추가 하십시오.


1
고마워, 나는 이것이 이와 같은 것일지도 모른다는 것을 두려워했다. 나는 이것을 시도 할 것이다
KathyHH

1
기본 pbe-hash의 불일치 (또는 잘못된 해시 또는 비밀번호 만 지정)는 가비지 암호 해독을 유발하여 CBC 모드 암호 (여기에서와 같이)는 거의 항상 06065064 '나쁜 암호 해독'으로 감지되지만 ' 나쁜 마법 번호 '. 만 손상된 파일, 또는 암호화 하나 -nosalt또는 정말 (최대 0.9.6 이전) 고대에는 OpenSSL는 않습니다.
dave_thompson_085

1

아래 명령은 나에게 고통을 주었다.

openssl aes-256-cbc -d -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc decryption password:
bad magic number

그리고 아래 명령은 그것을 해결하고 나에게 즐거움을 주었다.

openssl aes-256-cbc -md md5 -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

7
두 번째 명령에서는 암호를 해독하지 않습니다 ( -d...).
dangonfast

1

이 오류의 일반적인 원인은 비밀번호에서 OpenSSL에 의해 계산 된 키가 잘못 되었기 때문에 데이터를 암호화 한 키와 동일하지 않기 때문입니다.

원래 오류와 다른 상황에서이 오류가 표시 될 수있는 한 가지 이유는 OpenSSL 이외의 다른 도구 (예 : Java 암호화 및 SSL을 사용한 암호 해독)를 사용하여 암호화하는 경우입니다.

Java 솔루션은 /programming/22610761/aes-simple-encrypt-in-java-decrypt-with-openssl/55884564#55884564

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.