나는 이것에 너무 익숙하지 않습니다. 이전에는 PC 프로젝트에서 MD5 암호화를 사용했지만 지금은 내 미니 프로그램 프로젝트에서 CryptoJS에서 이 두 가지를 사용한 적이 없습니다. 혼란스러워요. 미니 프로그램에서 MD5를 계속 사용하면 어떨까요? 그래서 여기에 제가 의심을 해결하는 데 사용한 몇 가지 지식 포인트를 기록합니다.
인터넷의 발달과 함께 정보 보안에 대한 관심이 점점 더 높아지고 있으며, 이로 인해 웹 개발에 있어 사용자 비밀번호 등 다양한 암호화가 더욱 중요해지고 있습니다. 서버와 상호 작용하는 동안 데이터 전송의 보안을 보장하고 해커에 의한 패킷 캡처 및 변조를 방지합니다.
Base64 인코딩에 대해서는 기사를 읽으면 의심이 해결될 것이라고 생각하므로 여기서는 자세히 설명하지 않겠습니다.
Base64 인코딩 원리
예를 들어 : 사용자 비밀번호, 요청 매개변수, 파일 암호화
예: 인터페이스 매개변수 서명 확인 서비스
결제 데이터, CA 디지털 인증서
프런트엔드 친구가 결제할 수 있음 프론트엔드 js 암호화에 주의하세요. WEB 로그인 기능을 수행할 때 일반적으로 확인을 위해 Form submit이나 Ajax를 통해 서버에 제출합니다. 패킷 캡처를 방지하려면 먼저 로그인 비밀번호를 RSA(암호화)한 후 서버에 제출하여 확인해야 합니다. Taobao, JD.com, Sina 등과 같은 일부 대기업이 이를 사용하고 있습니다.
다음과 같이 프런트엔드 암호화를 위해 미리 만들어진 js 라이브러리도 많이 있습니다.
JS-RSA: OpenSSL RSA 암호화, 암호 해독 및 키 생성을 수행하기 위한 Javascript 라이브러리, / travist/jsencrypt
MD5: 단방향 해시 암호화 md5 js 라이브러리, /blueimp/JavaScript-MD5
crypto-js: 대칭 암호화 AES js 라이브러리, /brix/crypto-js
-CryptoJS(crypto.js)는 JavaScript를 위한 다양한 암호화 알고리즘을 제공합니다.
HMAC 시리즈는 메시지의 변조 여부를 확인하는 데 사용되는 메시지 검증입니다. 예를 들어 웹사이트에서는 이메일과 hmac(email)이 전송되고, hmac(email)은 다음과 같이 사용될 수 있습니다. 이메일을 수신하면 사용자가 위조했는지 여부를 알 수 있습니다.