Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 21171|Risposta: 3

[Fonte] Il codice sorgente è criptato con DES per la password del programma C#

[Copiato link]
Pubblicato su 08/06/2015 09:31:47 | | |
DES sta per Data Encryption Standard, cioè data encryption standard, un algoritmo a blocchi che utilizza la crittografia delle chiavi, identificato come Federal Data Processing Standard (FIPS) dal National Bureau of Standards del governo federale degli Stati Uniti nel 1976, e da allora ampiamente diffuso a livello internazionale.
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Security.Cryptography;
  6. using System.Text;

  7. namespace TestWeb
  8. {
  9.     public class DESEncrypt
  10.     {
  11.         #region ========加密========

  12.         /// <summary>
  13.         /// 加密
  14.         /// </summary>
  15.         /// <param name="Text"></param>
  16.         /// <returns></returns>
  17.         public static string Encrypt(string Text)
  18.         {
  19.             return Encrypt(Text, "Test");
  20.         }
  21.         /// <summary>
  22.         /// 加密数据
  23.         /// </summary>
  24.         /// <param name="Text"></param>
  25.         /// <param name="sKey"></param>
  26.         /// <returns></returns>
  27.         public static string Encrypt(string Text, string sKey)
  28.         {
  29.             DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  30.             byte[] inputByteArray;
  31.             inputByteArray = Encoding.Default.GetBytes(Text);
  32.             des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
  33.             des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
  34.             System.IO.MemoryStream ms = new System.IO.MemoryStream();
  35.             CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
  36.             cs.Write(inputByteArray, 0, inputByteArray.Length);
  37.             cs.FlushFinalBlock();
  38.             StringBuilder ret = new StringBuilder();
  39.             foreach (byte b in ms.ToArray())
  40.             {
  41.                 ret.AppendFormat("{0:X2}", b);
  42.             }
  43.             return ret.ToString();
  44.         }

  45.         #endregion
  46.         #region ========解密========

  47.         /// <summary>
  48.         /// 解密
  49.         /// </summary>
  50.         /// <param name="Text"></param>
  51.         /// <returns></returns>
  52.         public static string Decrypt(string Text)
  53.         {
  54.             return Decrypt(Text, "Test");
  55.         }
  56.         /// <summary>
  57.         /// 解密数据
  58.         /// </summary>
  59.         /// <param name="Text"></param>
  60.         /// <param name="sKey"></param>
  61.         /// <returns></returns>
  62.         public static string Decrypt(string Text, string sKey)
  63.         {
  64.             DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  65.             int len;
  66.             len = Text.Length / 2;
  67.             byte[] inputByteArray = new byte[len];
  68.             int x, i;
  69.             for (x = 0; x < len; x++)
  70.             {
  71.                 i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
  72.                 inputByteArray[x] = (byte)i;
  73.             }
  74.             des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
  75.             des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
  76.             System.IO.MemoryStream ms = new System.IO.MemoryStream();
  77.             CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
  78.             cs.Write(inputByteArray, 0, inputByteArray.Length);
  79.             cs.FlushFinalBlock();
  80.             return Encoding.Default.GetString(ms.ToArray());
  81.         }

  82.         #endregion
  83.     }
  84. }
Copia codice






Precedente:asp.net ottenere l'indirizzo URL della pagina corrente
Prossimo:ASP.NET soluzione alternativa per la sezione di configurazione non riconosciuta &quot;connectionStrings&quot;
Pubblicato su 01/08/2017 06:48:32 |
Grazie per aver condiviso
Pubblicato su 04/08/2017 15:59:44 |
Grazie per aver condiviso :)
Pubblicato su 16/08/2017 06:44:58 |
Grazie per aver condiviso :)
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com