2017-08-16 3 views
0

ASP.NET Webアプリケーションでは、文字列値を暗号化してCookieに保存しました。今、AngularJSアプリケーションでCookie値を取得したいと考えています。 問題は、AngularJSで暗号化されたCookie値を取得できないことです。 誰でも知っていますか?私はバイト配列に文字列値を暗号化するために使用していAngularJSで暗号化されたCookie文字列値を取得する

コードである:また

public static byte[] Encrypt(string emailId) 
    { 
     byte[] bytes = Encoding.ASCII.GetBytes(emailId); 
     byte[] passwordBytes = Encoding.ASCII.GetBytes("HLCC1PQRSA72017"); 
     int passwordShiftIndex = 0; 
     for (int i = 0; i < bytes.Length; i++) 
     { 
      bytes[i] = (byte)(bytes[i] + passwordBytes[passwordShiftIndex]); 
      passwordShiftIndex = (passwordShiftIndex + 1) % passwordBytes.Length; 
     } 
     return bytes; 
    } 

、私は文字列にバイト配列を変換し、クッキーに格納するToBase64String()メソッドを使用しています。

+0

てください:

atob(stringValue); 

さらに、私はバイト配列を解読し、最終的に暗号化された文字列を取得するには、次のコードを使用していますクッキーを取得しようとしたJSコードスニペットを提供します。 –

+0

私は、最初に適切に暗号化されているとみなすことはできませんと思っています...ヘッダに電子メールIDを格納するだけです。 –

+0

これは暗号化システムではありません。まったく。 –

答えて

0

お時間を頂き、ありがとうございました。 私はバイト配列に文字列値を変換するには、次のコードを使用しています

var str = 'The encrypted byte array'; //Insert here the encrypted byte array value that you have obtained after using the atob function. 
    var b = []; // char codes 
    var pKey='ABCD39493CDCCD'; //Insert here the password key which was used to encrypt the string. 
    var b2=[]; 
    var passwordIndex= 0; 
    var finalString=''; 

    for (var i = 0; i < str.length; ++i) 
    { 
     var code = str.charCodeAt(i); 
     b = b.concat([code]); 
    } 

    for (var i = 0; i < pKey.length; ++i) 
    { 
     var code2 = pKey.charCodeAt(i); 
     b2 = b2.concat([code2]); 
    } 

    for (var i = 0; i < b.length; i++) 
    { 
     b[i] = (b[i] - b2[passwordIndex]); 
     passwordIndex = (passwordIndex + 1) % b2.length; 
    } 

    for(var i=0;i<b.length;i++) 
    { 
     finalString=finalString+(String.fromCharCode(b[i])); 
    } 
    return finalString; 
関連する問題