programing

AES_Decrypt()가 늘 값을 반환합니다.

newsource 2022. 9. 22. 00:27

AES_Decrypt()가 늘 값을 반환합니다.

SQL-Newbie입니다.데이터를 포함하는 테이블로 작업하고 있습니다.longblob(phMyAdmin으로 Import됨)은 다음과 같습니다.

표 1.

이러한 파일은 (적절하게) AES로 암호화되어 있습니다.AES_Encrypt()key-id가 2332인 파일의 키를 알고 있기 때문에 전화를 걸고 싶습니다.AES_Decrypt()그 '블랙'(blab)에서요.이를 위해 다음과 같은 절차를 작성했습니다.

BEGIN
    DECLARE dat longblob;
    SELECT blahb into dat from fyle where keeid = p_id;
    SELECT AES_Decrypt(dat, p_key) into p_out;
END

intp phpMyAdmin에 다음과 같이 삽입했습니다.

다만, 키 ID 2332 와 기존의 패스워드로 콜 하면, NULL 이 반환됩니다.

표 4

그냥 궁금해서 물어보는 거야저장 프로시저가 올바릅니까?

만약 그렇다면, 제가 옳다고 생각했던 키가 실제로 잘못되었거나 잘못 사용하고 있다는 것을 알기 때문입니다.SQL 프로시저를 쓰는 것은 처음이기 때문에 장애가 첫 번째 원인인지 두 번째 원인인지 알 수 없습니다:/.

(서버 데이터: "서버 버전: 10.1.10-MariaDB - mariadb.org 바이너리 배포", "Apache/2.4.17(Win32) OpenSSL/1.0.2d PHP/5.6.19")

편집: 코멘트에서 쿼리를 실행하면 다운로드 링크가 없는 BLOB가 표시됩니다.단, 쿼리가 대폭 간소화되므로 이를 위한 프로시저를 지금 작성할 필요도 없습니다.

여기에 이미지 설명 입력

해독된 blob을 얻기 위한 절차는 필요 없습니다.대신 select 스테이트먼트 내의 함수를 호출합니다.

SELECT AES_Descrypt(blahb, 'PLACE_HERE_YOUR_KEY') from fyle where keeid = 2332

표시하다blob로서 활약하다.textPHPMyAdmin은 매우 직설적이며 이미질문에서 다루어졌습니다.

언급URL : https://stackoverflow.com/questions/36142311/aes-decrypt-returning-null-value