2014-10-08 5 views
0
var token = "WMwiDeJrawUKHif7D5a8yd4ne6Mv"; 
var salt = "ERtrg56hfg5"; 

var key = CryptoJS.enc.Hex.parse('B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF'); 
var iv = CryptoJS.enc.Hex.parse('7E892875A52C59A3B588306B13C31FBD'); 

var encrypted = CryptoJS.AES.encrypt(token, key, { iv: iv }); 

context.setVariable("encryptedtoken", encrypted); 

그러나 개체라고 말하는 변수에는 설정되어 있지 않습니다.자바 스크립트에서 encypted 개체를 읽는 중

당신이 암호화 한 후 다시 얻을 암호문 아직 문자열이 아닌 : 나는 당신이 CryptoJS documentation에서 encrypted.ciphertext

var encrypted = CryptoJS.AES.encrypt(token, key, { iv: iv }); 

context.setVariable("encryptedtoken", encrypted.ciphertext); 

를 사용한다고 생각

+2

* "그러나 그것은 개체라고 말하는 변수로 설정되지 않습니다."* 그게 무슨 뜻입니까? 나는 당신의 문제를 이해하지 못합니다. –

+0

encrypted.ciphertext를 사용하여 시도하십시오 – BuddhiP

답변

0

을해야 할 일. 그것은 CipherParams 객체입니다. CipherParams 객체는 암호화하는 동안 사용 된 모든 매개 변수에 대한 액세스를 제공합니다. 문자열 컨텍스트에서 CipherParams 객체를 사용하면 형식 전략에 따라 자동으로 문자열로 변환됩니다. 기본값은 OpenSSL 호환 형식입니다.

<script> 
    var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase"); 

    alert(encrypted.key);  // 74eb593087a982e2a6f5dded54ecd96d1fd0f3d44a58728cdcd40c55227522223 
    alert(encrypted.iv);   // 7781157e2629b094f0e3dd48c4d786115 
    alert(encrypted.salt);  // 7a25f9132ec6a8b34 
    alert(encrypted.ciphertext); // 73e54154a15d1beeb509d9e12f1e462a0 

    alert(encrypted);   // U2FsdGVkX1+iX5Ey7GqLND5UFUoV0b7rUJ2eEvHkYqA= 
</script> 
+0

그럼'code' alert (encrypted.ciphertext); // 73e54154a15d1beeb509d9e12f1e462a0 경고 (암호화 됨); // U2FsdGVkX1 + iX5Ey7GqLND5UFUoV0b7rUJ2eEvHkYqA ='코드'는 다릅니다. – mnvbrtn

관련 문제