2017-12-29 37 views
0

OpenSSL과 개인 키를 사용하여 인코딩 한 메시지가 있습니다. 공개 키를 사용하여 MySQL의 저장 프로 시저에서 메시지를 디코드하고 싶습니다. MySQL의 테이블에 저장). 나는 리눅스 명령 줄에서 메시지를 생성 어떻게 Base64로 문자열 되었 경우 여기MySQL Community Server의 저장 프로 시저로 OpenSSL을 사용하여 생성 된 메시지 디코드

은 지금 ... 여기

echo "The message I want encoded" | openssl rsautl -encrypt -inkey private_key.pem -out >(base64) 

그것이 생산 출력입니다 ...

B7b2L7AMD7NBcg30N+DrO4gJFojzw06GKJFZTJsJCEjIeHBNjN2tUh7Nx18Y69wN342FhVQ4HYxv 
A5+kVB5LN2v81R1y4qTn/z/PqPTVdAiH/F7zNb/XsrzkLhTCqHgCwxwRPuiR4PTZ8InSo4X88r68 
v7LcQD58z20bLq98dcXmPRPpsLqwY4KSofSajkh4LZ4+K+5wiWRv0LyMnFtHCuc97Rafzm7kYf7c 
Nvts0C3mmwieUXzBCJiunLw8Hn6waD451Kvm3cCjhyPIYOpyA5Vkzxb2XQy3KOpAHK8TOqdUI4Gy 
TPK8OCBaEknM4ywF0AuMdpV9ntk0JfLAyka6WQ== 

입니다 공개 키로 MySQL의 프로 시저에 넣으면 해독 할 수 있습니까?

이것도 가능합니까? 예를 찾을 수 없습니다. 나는 AES_DECRYPT가 사용할 명령이라고 추측하고 있지만 어떻게하는지, 또는 이것이 올바른 방법인지 이해하지 못합니다.

나는 실험 모드이므로 수동으로이 작업을 수행하므로 마지막에 호출 할 MySQL 저장 프로 시저 외의 특정 언어는 염두에 두지 않습니다. 그러나 간단한 SQL은 이것이 어떻게 수행 될 수 있는지를 보여주기 위해 노력할 것입니다.

시작하려면 시작하기 만하면됩니다. 예를 들어, @pubkey라는 변수에 공용 키를 저장하고 @message라는 변수에 메시지를 저장하면 이처럼 SQL을 사용할 수 있습니까?

select AES_DECRYPT(from_base64(@message),@pubkey) as result; 

나는 그것을 해독하지 않을 것이다. 그래서 나는 그것에 더 많은 것이 있다고 가정합니다. 어떤 도움이라도 대단히 감사합니다.

답변

0

필자가 찾고있는 것을 찾았습니다. MySQL Community Server는 내가 원하는 바보 같은 것들을 지원하지 않습니다.

필자가 원하는 기능은 MySQL Enterprise에만 있으므로 수행하려는 작업을 수행하려면 응용 프로그램에서 암호화/암호 해독을 수행해야합니다. https://dev.mysql.com/doc/refman/5.6/en/enterprise-encryption-functions.html

+0

PS :

문제의 명령에 관심이 누군가를 위해, MySQL의 사이트를 체크 아웃 주시기 어쨌든 내 머리에서 잘못 처리했다. 개인 키로 암호화 한 다음 공개 키로 암호를 해독하지 마십시오. 하지만 당신은 내 응용 프로그램에 대해 동일한 기능을 제공하는 이런 식으로 작은 블록을 사인 할 수 있습니다. –