看名字就知道了,这是一个矩阵既然是矩阵就有 [0,0],就可以比方作x轴,和y轴了,.
1 首先,要确定,原文出现的所有字符串作为---x轴
2 对比文-------------y轴
3 x,y生成一个字符串矩阵
4 要求,x轴密码不可以重复
5 有x,y 的坐标点确定一个密码
采用此种方法,首先确定x轴,是明文所以,同一y轴下的所有x轴变量不可重复,
注意采用此方法写的密码不能被频率分析法
破解哦
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
namespace Password
{
/// <summary>
/// 加密矩阵- -挺复杂的加密方法
/// </summary>
public class VigenereRandom:ABEncryptDecrypt
{
/// <summary>
/// 产生一组密钥
/// </summary>
/// <returns></returns>
public override Object CreateKey(int State, int KeyCount)
{
//---这个是钥匙类
VigenereRandomKey Keys = new VigenereRandomKey();
//--首先给找y轴的落点
RandomNumberGenerator rng = new RNGCryptoServiceProvider();
Keys.Y
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
namespace Password
{
/// <summary>
/// 加密矩阵- -挺复杂的加密方法
/// </summary>
public class VigenereRandom:ABEncryptDecrypt
{
/// <summary>
/// 产生一组密钥
/// </summary>
/// <returns></returns>
public override Object CreateKey(int State, int KeyCount)
{
//---这个是钥匙类
VigenereRandomKey Keys = new VigenereRandomKey();
//--首先给找y轴的落点
RandomNumberGenerator rng = new RNGCryptoServiceProvider();
Keys.Y