JS 암호 화 플러그 인 CryptoJS AES 암호 화 작업 예제 구현
최근 에 데이터 의 안전성 을 고려 하여 우 리 는 데 이 터 를 전송 하 는 과정 에서 암호 화하 여 악의 적 인 조작 과 파충류 가 데 이 터 를 캡 처 하 는 것 을 방지 해 야 한다.
주로 두 개의 폴 더,components,rollups 입 니 다.
첫 번 째 는 구성 요소 이 고,두 번 째 는 집합 이다.
집합 폴 더 에 있 는 파일 은 구성 요소 하나 이상 의 폴 더 를 연결 한 후에 압축 됩 니 다.
이 때문에 독립 된 폴 더 를 프로젝트 파일 에 포함 시 키 고 의존 을 걱정 하지 않 아 도 됩 니 다.
집합 파일 과 구성 요소 간 의 관 계 를 볼 수 있 습 니 다:
https://code.google.com/p/crypto-js/source/browse/tags/3.1.2/builder/build.yml
먼저 프로젝트 에 해당 하 는 암호 화 파일 을 도입 합 니 다.저 희 는 AES 를 사용 하고 RequireJS 로 JS 를 불 러 옵 니 다.설정 에서 경 로 를 설명 합 니 다.
require.config({
baseUrl: "/Public/Home/Js/lib",
paths: {
hzbAES:'../module/hzb.AES'
}
});
우선 암호 화 복호화 를 모듈 로 밀봉 합 니 다.
//
var init=function () {
key = CryptoJS.enc.Utf8.parse(CryptoJS.MD5(ym.hezubao).toString());
iv = CryptoJS.enc.Utf8.parse(CryptoJS.MD5(key).toString().substr(0,16));
}
function encrypt(data) {
var encrypted='';
if(typeof(data)=='string')
{
encrypted = CryptoJS.AES.encrypt(data,key,{
iv : iv,
mode : CryptoJS.mode.CBC,
padding : CryptoJS.pad.ZeroPadding
});
}else if(typeof(data)=='object'){
data = JSON.stringify(data);
encrypted = CryptoJS.AES.encrypt(data,key,{
iv : iv,
mode : CryptoJS.mode.CBC,
padding : CryptoJS.pad.ZeroPadding
})
}
return encrypted.toString();
}
/*AES
* param : message
* return : decrypted string
*/
function decrypt(message) {
decrypted='';
decrypted=CryptoJS.AES.decrypt(message,key,{
iv : iv,
mode : CryptoJS.mode.CBC,
padding : CryptoJS.pad.ZeroPadding
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
코드 설명:JSON.parse()
번 을 사용 해 야 사용 할 수 있 습 니 다.
require(['hzbAES'], function(hzbAES){
var jsonData={'id':2,'username':' '};//json ( json )
$('#btn_test').click(function () {
var encrypt=hzbAES.encrypt(jsonData);
console.log(' :'+encrypt);//
$.getJSON(UrlGenerator.url(2,'Home','Index','test'),{'data':encrypt},function (data) {
if(!data['error'])
{
var decrypt=JSON.parse(hzbAES.decrypt(data['data']));
console.log(' :');//
console.log(decrypt);
}else{
console.log(data['error']);
}
})
});
});
PS:암호 화 복호화 에 관심 이 있 는 친 구 는 본 사이트 의 온라인 도 구 를 참고 할 수 있 습 니 다.온라인 AES 암호 화/복호화 도구:
http://tools.jb51.net/password/aes_encode
텍스트 온라인 암호 화 복호화 도구(AES,DES,RC4 등 포함):
http://tools.jb51.net/password/txt_encode
온라인 인 코딩 변환 도구(utf-8/utf-32/Punycode/Base 64):
http://tools.jb51.net/transcoding/decode_encode_tool
BASE 64 인 코딩 도구:
http://tools.jb51.net/transcoding/base64
온라인 MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 암호 화 도구:
http://tools.jb51.net/password/hash_md5_sha
온라인 sha 1/sha 224/sha 256/sha 384/sha 512 암호 화 도구:
http://tools.jb51.net/password/sha_encode
더 많은 자 바스 크 립 트 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.