비밀번호 암호화 및 복호화[닫기]

비밀번호 암호화 및 복호화[닫기]

비밀번호를 txt 파일에 일반 텍스트로 저장했습니다. 이제 txt 파일에서 일반 텍스트를 읽은 다음 이를 암호화하고 해독하는 스크립트를 작성하고 싶습니다.

답변1

비밀번호를 암호화된 상태로 유지할 수 없으면 비밀번호를 암호화해도 소용이 없습니다. 일단 암호를 해독하면 다시 취약해집니다.

아무리 어려운 암호화 및 복호화 방법이라도 누구나 확인하고 복사하여 붙여넣을 수 있습니다. 이것은 상황을 더욱 어리석게 만들 뿐입니다.

chmodRube Goldberg 시스템보다 엿보는 눈으로부터 더 잘 보호되지만 약간의 작업만 하면 저장된 비밀번호를 완전히 사용하지 않을 수 있으므로 정말 좋은 일이 될 것입니다. 이유: 검색 가능한 저장된 비밀번호는 보안 문제이므로 피해야 합니다. 이는 나쁜 생각 sudo이며 su피할 수 있을 뿐만 아니라 사용자가 이를 사용하지 못하도록 특별히 설계되었습니다 ssh.scpsftp

비밀번호를 묻는 메시지를 표시하려는 경우 비밀번호는 제한적으로 사용되지만 작업을 자동화하거나 openssl.

$ echo foobar | openssl enc -aes-128-cbc -a -salt -pass pass:asdffdsa
U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8=

$ echo U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8= | openssl enc -aes-128-cbc -a -d -salt -pass pass:asdffdsa
foobar

아니면 이렇게 할 수도 있고,

$ touch pass.txt && echo foobar > pass.txt
$ openssl bf -a -salt -in pass.txt -out secret && rm -f pass.txt
enter bf-cbc encryption password:
Verifying - enter bf-cbc encryption password:

$ openssl bf -d -a -in secret -out pass.txt
enter bf-cbc decryption password:

$ cat pass.txt
foobar

답변2

바퀴를 재발명하고 싶은 것 같습니다. 내 개인적인 제안은 원하는 방식으로 정렬된 비밀번호가 포함된 텍스트 파일을 만드는 것입니다(각 줄에는 고유한 사용자 이름, 비밀번호 및 속한 사이트가 있습니까?).

gpg --full-gen-key4096비트 RSA 키를 생성하려면 "RSA 및 RSA" 선택을 사용하십시오. 아니면 2048비트도 기술적으로 여전히 사용하기에 안전합니다. 2048비트 이하로 내려가지 마세요.

gpg -e passwords.txt파일에 포함된 비밀번호를 사용하여 파일을 암호화합니다.

받는 사람의 이름(본인)을 입력하세요. 그런 다음 완료되면 password.txt.gpg존재하는지 확인하십시오. 그런 다음 원래(암호화되지 않은)passwords.txt를 삭제하십시오.

이제 쉬운 부분이 나옵니다.

파일의 비밀번호 중 하나가 필요하면 다음을 실행하십시오. gpg -d passwords.txt.gpg

RSA 키를 생성할 때 선택한 비밀번호만 기억하면 됩니다. 암호화되지 않은 내용은 stdout(사용 중인 터미널)에 덤프됩니다. 레몬콩을 쉽게 짜보세요.

RSA의 대안은 다음 키 생성 방법을 사용하는 것입니다.

gpg --full-gen-key --expert

그런 다음 옵션 9 - "ECC 및 ECC"를 선택하십시오. 알고리즘은 Brainpool P-512를 선택하세요. 키 생성은 RSA보다 훨씬 빠르고 키 크기는 더 작으며 그만큼 안전합니다. 정말 개인적인 취향입니다. 내 답변의 나머지 부분(비밀번호 파일의 암호화/복호화)은 여전히 ​​적용됩니다.

또는 다음으로 이동할 수 있습니다.슈퍼 라이어쉬운 방법은 KeePassX와 같이 미리 만들어진 소프트웨어를 사용하여 비밀번호를 암호화하여 저장하는 것입니다.

관련 정보