6. RSA公開金鑰密碼系統
感覺VB用的文字加密方法跟C#有出入?
using System.Text;
using System.Text.Encodings.Web;
namespace Q6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int mod(int a, int b, int c)
{
long s = 1;
for (int i = (int)Math.Ceiling(Math.Log2(b)); i >= 0; i--)
{
s = s * s % c;
if ((b >> i) % 2 == 1)
{
s = a * s % c;
}
}
return (int)s;
}
private void button1_Click(object sender, EventArgs e)
{
int key1 = int.Parse(textBox1.Text);
int key2 = int.Parse(textBox2.Text);
var txt = textBox3.Text;
string k = "";
foreach (var item in txt)
{
k += mod(item, key1, key2).ToString().PadLeft(5, '0') ;
}
textBox4.Text = k;
}
private void button2_Click(object sender, EventArgs e)
{
int key1 = int.Parse(textBox8.Text);
int key2 = int.Parse(textBox7.Text);
var input = textBox5.Text;
string k = "";
foreach (var item in input.Chunk(5).Select(e => int.Parse(string.Join("", e))))
{
k += (char)mod(item, key1, key2);
}
textBox6.Text = k;
}
}
}
Last updated