• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

Secret의 값 구하는 방법

24.01.19 10:22 작성 조회수 156

0

질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.
다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다!

[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://www.inflearn.com/blogs/1719)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다.
(https://www.inflearn.com/questions/992407/comment/281901)
6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다.
(https://www.inflearn.com/questions/915529)

[질문 하기]

9.3 Secret 값 생성할때 sercret을 생성해서 암호화된 값을 구하시는데,

base64로 바로 출력해도 같은 값이 나오기는 하는데, 마지막에 secret으로 생성했을때의 값과 = 하나가 차이가 납니다.

 

k create secret generic mysql-cred --from-literal=password='hoon'

-> aG9vbg==

 

echo "hoon" | base64

-> aG9vbgo=

 

그냥 base64로 값을 구하고 마지막에 = 만 하나더 추가해서 사용해도 무방할까요?

답변 1

답변을 작성해보세요.

1

안녕하세요

base64 인코딩에서 사용되는 = 은 패딩(padding)으로 마지막 비트 수를 맞추기 위한 용도로 사용됩니다.

base64로 구한다는게 정확히 어떤 의미인지 알기는 어려우나

secret은 기본적으로 base64인코딩을 사용하기 때문에 echo로 구하고 해당 값을 추가해 주셔도 됩니다.

 

참고로 base64는 바이너리를 읽어서 6비트 씩 나누고 해당 아스키 값을 채웁니다. 이 경우 6비트에 남는 값을 영으로 채우기 위해서 = 패딩 값이 사용됩니다.

따라서 다음과 같이 나옵니다.

➜  echo "aG9vbgo=" | base64 -d

hoon

➜  echo "aG9vbgo==" | base64 -d

hoon