您的位置:首页 > 其它

利用用户输入的密码生成密钥

2006-05-29 14:12 513 查看
其实我也是刚刚接触加密解密,很多比较专业的说法还都说不上来。感觉现在很多密码的破解方法就是大量积累加密后的字符串与原始值对应关系,从而得到用户的密码。

利用用户输入的密码,生成一个加密密钥,是不是中好的方法呢?我自己也不知道。接触的比较少。写来自己看看。

下面的代码值生成了密钥,并未使用该密钥对任何数据加密。

PasswordDeriveBytes PDB; //create the key
RC2CryptoServiceProvider RC2CSP; //contains the key
int IVSize; //Required IV size
Byte[] IV; //Init Vector
StringBuilder OutPut; //An output string
int Counter;
Byte[] Seed ={0x01,0x02,0x03,0x04,
0x05,0x06,0x07,0x08,
0x09,0x10,0x11,0x12,
0x13,0x14,0x15,0x16};
PDB = new PasswordDeriveBytes(txtPassword.Text, Seed, "MD5", 5);
RC2CSP = new RC2CryptoServiceProvider();
IVSize = RC2CSP.BlockSize / 8;
IV = new byte[IVSize];
for (Counter = 0; Counter < IV.Length; Counter++)
IV[Counter] = Convert.ToByte(Counter);
RC2CSP.Key = PDB.CryptDeriveKey("RC2", "MD5", RC2CSP.KeySize, IV);
OutPut = new StringBuilder();
OutPut.Append("The Generated Key:/r/n");
for (Counter = 0; Counter < RC2CSP.Key.Length; Counter++)
{
OutPut.Append(RC2CSP.Key.GetValue(Counter));
OutPut.Append(" ");
}
MessageBox.Show(OutPut.ToString(), "Key OutPut", MessageBoxButtons.OK, MessageBoxIcon.Information);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐