본문으로 건너뛰기

부록. 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==