2016-07-04 4 views
0

私はデータの暗号化/復号化にこの方法を使用していますが、Windows汎用アプリケーションはSystem.Security.Cryptographyをサポートしていません。だから、どうすればこれらをUWPアプリに移植できますか?ありがとうDESヘルパーをUWPにマージしますか?

static string DES_Key = "lolhahaha"; 
    public static string DESEncrypt(string data) 
    { 
     try 
     { 
      string timeStamp = DateTime.Now.ToString("sss"); 

      DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
      byte[] inputByteArray = Encoding.UTF8.GetBytes(data + timeStamp); 

      des.Key = ASCIIEncoding.ASCII.GetBytes(DES_Key); 
      des.IV = ASCIIEncoding.ASCII.GetBytes(DES_Key); 

      MemoryStream ms = new MemoryStream(); 
      CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); 

      cs.Write(inputByteArray, 0, inputByteArray.Length); 
      cs.FlushFinalBlock(); 
      byte[] buffer = ms.ToArray(); 
      ms.Close(); 

      return Convert.ToBase64String(buffer); 
     } 
     catch (Exception ex) 
     { 
      return ""; 
     } 
    } 
+1

DES、本当ですか?これは10年以上にわたって安全とは考えられていません。 DESを使用しないでください.AESを使用してください。 AESは使用するのが難しくなく、どちらもブロックベースの暗号化です。 – zaph

答えて

0

WindowsユニバーサルアプリケーションはSystem.Security.Cryptographyをサポートしていません。

あなたはなぜそう言ったのですか? Windows.Security.Cryptography namespaceがUWPアプリでサポートされている場合は、代わりにCryptographicBuffer classを使用してデータを暗号化および復号化できます。

ここではSymmetricKeyAlgorithmProvider classでご覧になれます。サポートされているアルゴリズムはSymmetricAlgorithmNames classにあります。

0

.NET Framework 1.0 NuGetパッケージをproject.jsonファイルに追加して、System.Security.Cryptographyクラスを使用できるようになりました。旧式/旧式のアルゴリズムは利用できないことに注意してください(DES)。

関連する問題