openssl은 비밀번호 대신 AES 256 키를 지정하여 암호화합니다.

openssl은 비밀번호 대신 AES 256 키를 지정하여 암호화합니다.

백엔드 코드에서 구성으로 필요하므로 aes-256-ecb를 사용하여 일부 데이터를 암호화해야 합니다. 암호에서 파생된 키를 사용하여 암호화할 수 있습니다.

openssl enc -p -aes-256-ecb -nosalt -pbkdf2 -base64 -in data-plain.txt -out data-encrypted.txt | sed 's/key=//g'

그러면 파생 키를 사용하여 암호화하고 콘솔에 키가 인쇄됩니다.

그러나 생성된 키를 사용하여 이 작업을 수행하는 방법을 찾을 수 없습니다. 예를 들면 다음과 같습니다.

  1. 다음 명령을 사용하여 256비트 키를 생성합니다.

    openssl rand -base64 32 > key.data

  2. 그러면 이 키는 암호화 프로세스 중에 사용됩니다. 예를 들면 다음과 같습니다.

    openssl enc -p -aes-256-ecb-키=키.데이터-nosalt -pbkdf2 -base64 -in data-plain.txt -out data-encrypted.txt

가능합니까?

답변1

지정된 16진수 키를 사용해야 합니다 -K. -iv특정 암호 및 작동 모드에 대한 IV 도 지정해야 합니다 . -nopad원시 AES 블록(즉, 패딩 없이)을 해독하는 경우 ECB 해독도 추가해야 합니다. 여러 블록을 암호화하는 데 사용되는 경우 ECB는 매우 안전하지 않습니다.

관련 정보