⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form3.cs

📁 C#平台下的希尔密码加密解密及破译程序
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 加密解密程序
{
    public partial class Form3 : Form
    {
        String text1;
        String text2;
        public int[,] XL = new int[2, 1] { { 0 }, { 0 } };
        public Form3()
        {
            InitializeComponent();
        }

        private void Form3_Closed(object sender, System.EventArgs e)
        {
            Form1.aFormCreated = false;
            Program.form1.Activate();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            bool sign = true;
            text1 = textBox1.Text;
            int length = text1.Length;           
            
            if (length % 2 != 0)
            {
                text1 = text1 + text1[length-1];
                length ++;
            }
            for (int i = 0; i < length; i=i+2)
            {
                XL[0,0] = turnCToI(text1[i]);
                XL[1,0] = turnCToI(text1[i+1]);
                if(XL[0,0]==-1 || XL[1,0]==-1)
                {
                    MessageBox.Show("明文输入错误,只能输入大写字母");
                    sign = false;
                    break;                    
                }               
                XL[0,0] = XL[0,0] * Program.form1.key[0, 0] + XL[1,0] * Program.form1.key[0, 1];
                XL[1,0] = XL[0,0] * Program.form1.key[1, 0] + XL[1,0] * Program.form1.key[1, 1];
                XL[0,0] = XL[0,0] % 26;
                XL[1,0] = XL[1,0] % 26;
                text2 += turnIToC(XL[0,0]);
                text2 += turnIToC(XL[1,0]);

            }
            if (sign == true)
            {
                textBox2.ReadOnly = false;
                textBox2.Text = text2;
            }
            

        }


        private int turnCToI(char x)
        {
            if (x == 'A')
                return 1;
            else if (x == 'B')
                return 2;
            else if (x == 'C')
                return 3;
            else if (x == 'D')
                return 4;
            else if (x == 'E')
                return 5;
            else if (x == 'F')
                return 6;
            else if (x == 'G')
                return 7;
            else if (x == 'H')
                return 8;
            else if (x == 'I')
                return 9;
            else if (x == 'J')
                return 10;
            else if (x == 'K')
                return 11;
            else if (x == 'L')
                return 12;
            else if (x == 'M')
                return 13;
            else if (x == 'N')
                return 14;
            else if (x == 'O')
                return 15;
            else if (x == 'P')
                return 16;
            else if (x == 'Q')
                return 17;
            else if (x == 'R')
                return 18;
            else if (x == 'S')
                return 19;
            else if (x == 'T')
                return 20;
            else if (x == 'U')
                return 21;
            else if (x == 'V')
                return 22;
            else if (x == 'W')
                return 23;
            else if (x == 'X')
                return 24;
            else if (x == 'Y')
                return 25;
            else if (x == 'Z')
                return 0;
            else
                return -1;           
               
        }

        private char turnIToC(int x)
        {
            if (x == 1)
                return 'A';
            else if (x == 2)
                return 'B';
            else if (x == 3)
                return 'C';
            else if (x == 4)
                return 'D';
            else if (x == 5)
                return 'E';
            else if (x == 6)
                return 'F';
            else if (x == 7)
                return 'G';
            else if (x == 8)
                return 'H';
            else if (x == 9)
                return 'I';
            else if (x == 10)
                return 'J';
            else if (x == 11)
                return 'K';
            else if (x == 12)
                return 'L';
            else if (x == 13)
                return 'M';
            else if (x == 14)
                return 'N';
            else if (x == 15)
                return 'O';
            else if (x == 16)
                return 'P';
            else if (x == 17)
                return 'Q';
            else if (x == 18)
                return 'R';
            else if (x == 19)
                return 'S';
            else if (x == 20)
                return 'T';
            else if (x == 21)
                return 'U';
            else if (x == 22)
                return 'V';
            else if (x == 23)
                return 'W';
            else if (x == 24)
                return 'X';
            else if (x == 25)
                return 'Y';
            else if (x == 0)
                return 'Z';
            else
                return 'e';


        }


       
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -