요구사항: 프로젝트 내 사용자의 원본 비밀번호를 백엔드에 전달해야 하며, 백엔드는 비밀번호를 가진 제3자 인터페이스를 호출해야 합니다. 비밀번호가 평문으로 제대로 전송되지 않거나, 패킷 캡처 도구에 포착되면 비밀번호가 유출됩니다. RSA 알고리즘이 결국 채택되었으며, 프론트엔드는 공개키를 사용해 비밀번호를 암호화하고, 백엔드는 개인 키를 사용해 복호화했습니다.
프론트엔드는 jsencrypt 패키지인 address를 사용합니다:하이퍼링크 로그인이 보입니다.
백엔드가 .NET 5 이상이라면 내장 함수를 사용할 수 있고, 그렇지 않다면 다음 매개변수를 사용해 주세요:
먼저, openssl을 사용해 공개 및 개인 키를 생성하세요. 이 글은 리눅스에서 직접 실행됩니다(Windows 시스템에서 openssl을 다운로드하여 설치하세요). 명령어는 다음과 같습니다:
캣 rsa_1024_priv.팜 -----RSA 개인 키 시작----- MIICXAIBAAKBgQDTyd/KP2JuidA0JA+7i8FCzKCdn2Gq/ChfLpnBFcHb9vKgZb6n aK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQuNpop/FO9doiV5l/94Hcuj17f 2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH7VpuQyJRGHzWQu8HnwIDAQAB AoGARat4Ifkd8U0Gn9BpGIIN7mKQR6nhoDTZNw6GZ903a5veDuPJhxrJVzDDAcuc 3znyxxy0qJzF9ZHkrvyBDwsv7AGyVfg6fwwLxvrsJS1MpwKLY3yqbPVk3hnaOECO 915XcbkVua+DGVjwtyX37CxPuSDaH2ut+kIQ3xci+BreSpkCQQD3FfgYELZgrHDk JQaSiILCnFbld+NBuTm4CHPCN+XDZwzvC8sH4M9my7kznxAQosHbm+aGaOK1k4+k zKgaiJzVAkEA223oSa7UMyMf/K/dEFmGjKBWQYP7gjLxcsxDHdwTpKHBEuZ32IT2 nuvYxsaOATqg8WABAJHWmT2Rj/joeAx8owJBANaLovLygAoNcbEIXV6bXj8xlVqG 8TO+a9narPk1pDI5psdijBb5I930g4nJUh+/02inRFHtfP2Bdbb5ZfY0LUkCQDxJ iCamaBrcra8pSl1xm2wLqWc6seFlyby2rkIH80WqQ3fD5m2QqomjVt3WM7HWv91R eTUE3KchqVqbEpPZKm0CQD7VMRAb1NNH+BNjuGxZB3AQSJvRXhpJ+w3ckSP6IX0L N0OoHtvH5lvtm7hfB5nDUBYhqN3wj7wDNiK9Vrdyqow= -----RSA 개인 키 종료----- 캣 rsa_1024_pub.팜 -----공개키 시작----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH 7VpuQyJRGHzWQu8HnwIDAQAB -----공개키 종료----- 다음 소스 코드로 새로운 index.html 웹페이지를 생성하세요:
관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다 회답
다음 소스 코드로 새로운 .NET 8 콘솔 애플리케이션을 생성하세요:
브라우저를 사용해 index.html 웹페이지를 열고 암호화를 테스트한 후 .NET 애플리케이션을 사용해 복호화하세요. 다음 그림에 나와 같이 설명됩니다:
참고: 매우 긴 문자열의 암호화와 복호화 모두 실패할 수 있으며, 분할 암호화와 복호화가 필요합니다. 구체적인 내용은 다음을 참고하시면 됩니다:하이퍼링크 로그인이 보입니다.
(끝)
|