02/10/2018, 11:45

[C#] Mã hóa RSA trong lập trình Csharp

Xin chào các bạn, bài viết hôm nay, mình xin chia sẽ đến các bạn source code mã hóa RSA trong lập trình C# . Bài viết này, mình cũng đã có viết một bài hướng dẫn bên ngôn ngữ VB.NET. Các bạn có thể tham khảo thêm bằng cách gõ từ khóa RSA trên thanh tìm ...

Xin chào các bạn, bài viết hôm nay, mình xin chia sẽ đến các bạn source code mã hóa RSA trong lập trình C#. Bài viết này, mình cũng đã có viết một bài hướng dẫn bên ngôn ngữ VB.NET.

Các bạn có thể tham khảo thêm bằng cách gõ từ khóa RSA trên thanh tìm kiếm nhé.

Nếu bạn nào chưa biết RSA là gì? và cách mã hóa và giải mã như thế nào, các bạn có thể tham khảo thêm ở link này "Mã hóa RSA".

Giao diện demo ứng dụng Mã hóa RSA C#:

Mã hóa RSA C#

Source code mã hóa RSA C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;

namespace RSAEncryption
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        #region-----Encryptionand Decryption Function-----
        static public byte[] Encryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)
        {
            try
            {
                byte[] encryptedData;
                using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
                {
                    RSA.ImportParameters(RSAKey);
                    encryptedData = RSA.Encrypt(Data, DoOAEPPadding);
                }
                return encryptedData;
            }
            catch (CryptographicException e)
            {
                Console.WriteLine(e.Message);

                return null;
            }

        }

        static public byte[] Decryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)
        {
            try
            {
                byte[] decryptedData;
                using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
                {
                    RSA.ImportParameters(RSAKey);
                    decryptedData = RSA.Decrypt(Data, DoOAEPPadding);
                }
                return decryptedData;
            }
            catch (CryptographicException e)
            {
                Console.WriteLine(e.ToString());

                return null;
            }

        }
        #endregion

        #region--variables area
        UnicodeEncoding ByteConverter = new UnicodeEncoding();
        RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
        byte[] plaintext;
        byte[] encryptedtext;
        #endregion

        #region-- Function Implemantation
        private void button1_Click(object sender, EventArgs e)
        {
            plaintext = ByteConverter.GetBytes(txtplain.Text);
            encryptedtext = Encryption(plaintext, RSA.ExportParameters(false), false);
            txtencrypt.Text = ByteConverter.GetString(encryptedtext);
           
        }
        private void button2_Click(object sender, EventArgs e)
        {
            byte[] decryptedtex = Decryption(encryptedtext, RSA.ExportParameters(true), false);
            txtdecrypt.Text = ByteConverter.GetString(decryptedtex);
        }
        #endregion
    }
}

HAPPY CODING heart

Tags: rsama hoa
0