Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

thắc mắc code c# mã hóa hill

01:01 04-05-2021 933 lượt xem 0 bình luận
using System;
using System.Collections.Generic;
namespace BTL_DSTT
{
    class Hill_cipher
    {
        static void Main(string[] args)
        {
            int[] key = new int[] { 2, 3, 3, 6 };
            string chuoikitu = "coxuanmy";
            if(chuoikitu.Length % 2 != 0)
            {
                chuoikitu += chuoikitu[chuoikitu.Length - 1];
            }
            string cipher = "";
            int ask = 0;
            int sum = 0;
            for(int i = 0; i < chuoikitu.Length; i +=2)
            {
                for(int j=0; j<2; j +=2)
                {
                    ask += chuoikitu[i] - 'a';
                    sum = ask * key[j];
                    ask += chuoikitu[i+1] - 'a';
                    sum = ask * key[j+1];
                    sum = sum % 26;
                    sum += 97;
                    char c = Convert.ToChar(sum);
                    cipher += c;
                  
                }
            }
            Console.WriteLine(cipher);
            Console.ReadKey();
        }
    }
}

hello mn! mình là dân ngoại bang nhưng thích học code.

mình đang code mã hóa hill nhưng k biết code và có học hỏi trên mạng thì dc code như này nhưng mình k hiểu chỗ tại sao lại là 97 và ngay chỗ 'a' = 97 cũng dc luôn. và code này mã hóa thì ra đáp án sai so với mình tính tay là UMCHNASY trong khi code nó ra "wkrgdguw" rất mong sự chỉ bảo của mn, cảm ơn mn

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập

Câu hỏi mới nhất