본문으로 건너뛰기

부록. DB 사용자 암호 암호화 방법

이 문서에서는 DB 사용자 암호를 암호화하는 방법에 대해 안내합니다.

주의
  • user.password 필드의 값은 암호화한 값을 넣어야지만 정상적으로 생성이 가능합니다.

사전 준비​

DB 사용자 암호를 암호화하는 파이썬 코드 예시​

필요한 DB 사용자 암호를 암호화하는 파이썬 코드 예시입니다.
아래 첨부된 공개 키를 사용하는 예제 코드를 실행하고, 원하는 암호를 입력하면, 암호화된 결과값을 받을 수 있습니다.
결과값을 인스턴스 그룹/클러스터 생성 시 user.password 필드 값으로 사용하면 됩니다.

Code Example: encrypt database user password​
memstore_pub_key.pem 파일
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAr4mgZ4SFzTEtgdh3WZSWgMF/l6PhR9gdeq8jwP2BlyWW06UgZPhL
jKi+o3rbCWtpARtpn9ik1DKfG2ZQOempPlBv70JZMqzuvZcDueQdihRS2isCq5rS
6V40S8eq3UIi80UVS6U3hIFA0y3uNMREW1ny5H4nw2IQUIXm7W2KSIc57JE4uIu9
cmNvG1uwbBuj49JUUmHIgxd9FYURxeVyuwc5CO9uA5tXTYPePtOSXQs4SnoEJK+o
t+EQMBpokaUe/UYHjr4z68Lz8V+3r62bkfFr5dN5MsVpAeOMHp0az3H2uIfU8JQa
6FNZ7BJcuEP8ezEL6GQUkLJ8P0tQQ/5spQIDAQAB
-----END RSA PUBLIC KEY-----
DB 사용자 암호 암호화 Example
#!/usr/bin/env python3
import sys
from Cryptodome.Cipher import PKCS1_v1_5
from Cryptodome.PublicKey import RSA
import base64

# Get public key from a file
pubkey_file = open("memstore_pub_key.pem", 'r')
pubkey = pubkey_file.read()
pubkey_file.close()

# Input DBUser_Password
msg = input("Enter KC memstore DBUser Password: ")

# Create key using public key
key = RSA.importKey(pubkey)
cipher = PKCS1_v1_5.new(key)
cipher_msg = cipher.encrypt(msg.encode())
encode_msg = base64.b64encode(cipher_msg)
encryptedMsg = encode_msg.decode('utf-8')

# Encrypted Text
print("Encrypted text : ", encryptedMsg )
Result Example​
예제 코드 수행 결과 예시
test@test-macbook ~ % ./memstore_dbuser_password_encrypt.py
Enter KC memstore DBUser Password: kcmemstore123$
Encrypted text : QEmUQjAZqAHEBpdiVlok/9l6fDKM6f0Q60S35pQmB/KILKf5c3SrcbWv55H1fu+EevKVeA1cCNzgJxz0rMMdtgPE5zoBX2c6cQoUqsUZ0g9e3pAg3WEt70HxMfxyVy1WY2TNe2uic6l0+Nx+cIdIBJcBpJ+OQQTrSdCDDLUQRnrnhuPqnyXvdgP0tXjgpKzmfLsjebJS9Wa+8TY9ee6oBLx5F2+XMjDFapw4hXfbSwKUWDFK+czTa11zwYDpMdwmISVWwX9e77rfZg7f9sfsd2+lzbFj52LORf1CF2DGzgqP3I3xSf+0KiekwwAy3Kca5EHkyqK7mWeXMeKk7qnWjQ==