.NET обезпечава два алгоритъма за хеширане: Secure Hash (SHA) и Message Digest (MD5) имплементирани в класовете
SHA1Managed и MD5CryptoServiceProvider. Програмата публикувана тук демонстира тези принципи (SHA). Реализирана е с код на C#.NET:
Кодът на програмата може да изтеглите от ТУК
private void btnHash_Click(object sender, System.EventArgs e)
{
byte[] entered =
Encoding.ASCII.GetBytes(tbPlaintext.Text);
byte [] hash = new SHA1Managed().ComputeHash(entered);
tbHashed.Text = Encoding.ASCII.GetString(hash);
} |

Интерфейс но SHA
Посоченият код е функционалността добавена към бутона "Hash" Хеширането е прост алгоритъм не-включващ сложна математика както е при RSA или криптиране по елиптична крива. В .NET има 4 различни типа за SHA и това са: SHA1Managed (20-byte hash),SHA256Managed(32-byte hash),SHA384Managed(48-byte hash) и SHA512Managed(64-byte ash).
Коментар на кода: Преобразува въведеният в първата текстова кутийка tbPlainText текст в byte-масив и го подава и го подава към методът ComputeHash(); Хеш-кодът се генерира от инстанция на класът SHA1Mananged. Само с една простичка замяна на SHA1Managed със SHA512Managed или дори със MD5cryptoServiceProvider процесът на криптиране ще използва този алгоритъм, а не SHA1.
Пространствата от имена които съм използвал са:
using System.Text;
using System.Security.Cryptography; |
Използване на програмата: Попълвате текст в първата кутийка, натискате бутонът и във втората кутийка ще се появи хеш с фиксирана дължина. ДОРИ една мъничка промяна в текста в първата кутийка, ЩЕ причини ГОЛЯМА промяна вхех-последователността, НО нейната дължина ще си остане СЪЩАТА!