비밀번호 암호화 및 복호화

비밀번호 암호화 및 복호화

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

답변1

비밀번호를 암호화한 상태로 유지할 수 없으면 비밀번호를 암호화하는 것은 쓸모가 없습니다. 암호를 해독하는 순간 다시 취약해집니다.

암호화가 아무리 어렵더라도 암호화 및 암호 해독 방법은 누구나 보고 복사하여 붙여넣을 수 있습니다. 그것은 단지 그것을 더 어리석게 만듭니다.

chmodRube Goldberg 시스템보다 스누핑에 대한 훨씬 더 나은 방어가 될 것입니다. 그러나 일부 작업을 수행하면 저장된 비밀번호를 전혀 사용하지 않을 수 있으므로 매우 좋습니다. 이유: 검색 가능하게 저장된 비밀번호는 보안 문제이므로 피해야 합니다. sudo, su, ssh, 는 너무 나쁜 아이디어이므로 피하는 것이 scp아니라 sftp모두 사용자가 사용하지 못하도록 특별히 설계되었습니다.

제한된 용도로 비밀번호를 묻는 메시지를 표시할 계획이지만 운영 자동화 등의 가능성을 즐기려면 다음과 같은 유틸리티를 사용할 수 있습니다 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-key"RSA 및 RSA"를 선택 하여 4096비트 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와 같은 사전 제작된 소프트웨어를 사용하여 비밀번호를 암호화하여 저장할 수 있습니다.

관련 정보