一个传统的算法(拥有2000年历史)加密技术(学习笔记=)Caesar算法非常古老的算法,就是字母移动位.加密技术(学习笔记=)Caesar算法.

 

比如:

//--直接让字符串+偏移位(甚至可以减去偏移位)
        char aaa = Convert.ToChar(('中'+2) );
        Console.WriteLine(aaa);
//---解密的时候反转就可以了
        char bbc = Convert.ToChar(((aaa) - 2));

但是这就设计到一个问题,可以用反转的方式,比如说让所有的字符串减几来推测,可能的明文加密技术(学习笔记=)Caesar算法,这样不安全的说加密技术(学习笔记=)Caesar算法.


for(int a=0;a<100;a++)
{
  //----看这里就可以循环破译了
 char bbc = Convert.ToChar(((aaa) - a));
}

 

加密技术(学习笔记=)Caesar算法修改下 针对上面的破译可以有通过随机函数针对每一位进行偏移- -这时候就需要一个对应的偏移key记录偏移顺序的阿阿

 

关键点:

 RandomNumberGenerator rng = new RNGCryptoServiceProvider(); 生成随机 数组

 

对随机数组+上原文

            for (int i = 0; i < Key.Length; i++)
            {
                if (Key[i] < 2)
                {
                    Key[i] = 2;
                }

                sb[i] = (char)(sb[i] + Key[i]);
            }

 

 

 

 

 

 

 

);
         System.Text.StringBuilder IfAdd = new StringBuilder(Console.ReadLine());

           ABEncryptDecrypt AED 
= new CaesarRandom();


           Context C 
= new Context();
           C.OriginalText 
= IfAdd.ToString();


            AED.Encrypt(C);

        Console.WriteLine(C.CryptographText.ToString());

           AED.Decrypt(C);


          Console.WriteLine(C.OriginalText 
as String);

 

 

相关文章:

  • 2022-02-16
  • 2021-07-19
  • 2022-12-23
  • 2021-10-02
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2021-06-14
猜你喜欢
  • 2021-12-02
  • 2021-11-07
  • 2021-09-03
  • 2022-12-23
  • 2021-09-07
  • 2021-07-07
  • 2021-05-25
相关资源
相似解决方案