<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FSecurity%2FEncryption</id>
		<title>Csharp/CSharp Tutorial/Security/Encryption - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FSecurity%2FEncryption"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Security/Encryption&amp;action=history"/>
		<updated>2026-04-30T07:47:28Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Security/Encryption&amp;diff=6024&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Security/Encryption&amp;diff=6024&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Security/Encryption&amp;diff=6025&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Security/Encryption&amp;diff=6025&amp;oldid=prev"/>
				<updated>2010-05-26T12:17:57Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==PublicKey Cryptography==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
  class Class1&lt;br /&gt;
  {&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      string dataToSign = &amp;quot;this is a test.&amp;quot;;&lt;br /&gt;
      byte[] data_Bytes = System.Text.Encoding.ASCII.GetBytes( dataToSign );&lt;br /&gt;
      &lt;br /&gt;
      SHA1Managed sha1 = new SHA1Managed();&lt;br /&gt;
      byte[] hash_Bytes = sha1.ruputeHash( data_Bytes );&lt;br /&gt;
    &lt;br /&gt;
      DSACryptoServiceProvider dsa = new DSACryptoServiceProvider(); &lt;br /&gt;
      DSASignatureFormatter sigFormatter = new DSASignatureFormatter(dsa);&lt;br /&gt;
      sigFormatter.SetHashAlgorithm(&amp;quot;SHA1&amp;quot;);&lt;br /&gt;
      byte[] signedHash = sigFormatter.CreateSignature( hash_Bytes );&lt;br /&gt;
      byte[] remote_SignedHash = signedHash;&lt;br /&gt;
      byte[] remote_HashedValue = hash_Bytes;&lt;br /&gt;
      DSASignatureDeformatter sigDeformatter = new DSASignatureDeformatter( dsa );&lt;br /&gt;
      sigDeformatter.SetHashAlgorithm( &amp;quot;SHA1&amp;quot; );&lt;br /&gt;
      Console.WriteLine(sigDeformatter.VerifySignature( remote_HashedValue, remote_SignedHash ));&lt;br /&gt;
      RSACryptoServiceProvider rsa=  new RSACryptoServiceProvider();&lt;br /&gt;
      byte[] dataToEncrypt = System.Text.Encoding.Unicode.GetBytes( &amp;quot;Encrypt THIS!&amp;quot; );&lt;br /&gt;
      byte[] encrypted_Bytes;&lt;br /&gt;
      byte[] decrypted_Bytes;&lt;br /&gt;
      encrypted_Bytes = rsa.Encrypt( dataToEncrypt, false );&lt;br /&gt;
      Console.WriteLine(&amp;quot;RSA-encrypted data is {0} bytes long.&amp;quot;, encrypted_Bytes.Length);&lt;br /&gt;
      decrypted_Bytes = rsa.Decrypt( encrypted_Bytes, false );&lt;br /&gt;
      Console.WriteLine(&amp;quot;RSA-decrypted string is {0}.&amp;quot;, System.Text.Encoding.Unicode.GetString( decrypted_Bytes ));&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Secret Key Cryptography: RijndaelManaged==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
  class Class1&lt;br /&gt;
  {&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      byte[] bin = new byte[100]; // 100 byte buffer&lt;br /&gt;
      FileStream fsIn = new FileStream(&amp;quot;input.txt&amp;quot;, FileMode.Open, FileAccess.Read);&lt;br /&gt;
      long rdLen = 0;&lt;br /&gt;
      long totLen = fsIn.Length;&lt;br /&gt;
      int len;&lt;br /&gt;
      RijndaelManaged rm = new RijndaelManaged();&lt;br /&gt;
      rm.GenerateIV();&lt;br /&gt;
      rm.GenerateKey();&lt;br /&gt;
      FileStream fsOut_RM = new FileStream(&amp;quot;outputRM.txt&amp;quot;, FileMode.Create, FileAccess.Write);&lt;br /&gt;
      CryptoStream rmStream = new CryptoStream( fsOut_RM,&lt;br /&gt;
        rm.CreateEncryptor(), CryptoStreamMode.Write);&lt;br /&gt;
      while ( rdLen &amp;lt; totLen )&lt;br /&gt;
      {&lt;br /&gt;
        len = fsIn.Read(bin, 0, 100);&lt;br /&gt;
        System.Diagnostics.Debug.WriteLine(&amp;quot;Read &amp;quot; + len.ToString() + &amp;quot; bytes.&amp;quot;);&lt;br /&gt;
        rmStream.Write(bin, 0, len );&lt;br /&gt;
        rdLen += len;&lt;br /&gt;
        Console.WriteLine(&amp;quot;{0} Bytes Read.&amp;quot;, rdLen );&lt;br /&gt;
      }&lt;br /&gt;
      fsIn.Close();&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Symmetric Encryption==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Security;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            RijndaelManaged rmCrypto = new RijndaelManaged();&lt;br /&gt;
            byte[] key = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };&lt;br /&gt;
            byte[] IV = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };&lt;br /&gt;
            string clearMessage = &amp;quot;this is a test&amp;quot;;&lt;br /&gt;
            FileStream fs = new FileStream(&amp;quot;encrypted.dat&amp;quot;, FileMode.Create);&lt;br /&gt;
            CryptoStream cs = new CryptoStream(fs, rmCrypto.CreateEncryptor(key, IV), CryptoStreamMode.Write);&lt;br /&gt;
            cs.Write(System.Text.ASCIIEncoding.ASCII.GetBytes(clearMessage),0, clearMessage.Length);&lt;br /&gt;
            cs.Close();&lt;br /&gt;
            fs.Close();&lt;br /&gt;
            FileStream fs2 = new FileStream(&amp;quot;encrypted.dat&amp;quot;, FileMode.Open);&lt;br /&gt;
            CryptoStream cs2 = new CryptoStream(fs2, rmCrypto.CreateDecryptor(key, IV), CryptoStreamMode.Read);&lt;br /&gt;
            byte[] decryptedData = new byte[fs2.Length];&lt;br /&gt;
            cs2.Read(decryptedData, 0, (int)fs2.Length);&lt;br /&gt;
            cs2.Close();&lt;br /&gt;
            fs2.Close();&lt;br /&gt;
            Console.WriteLine(System.Text.ASCIIEncoding.ASCII.GetString(decryptedData));&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>