利用用户输入的密码生成密钥
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);
利用用户输入的密码,生成一个加密密钥,是不是中好的方法呢?我自己也不知道。接触的比较少。写来自己看看。
下面的代码值生成了密钥,并未使用该密钥对任何数据加密。
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);
相关文章推荐
- 利用shell脚本提高效率(切换用户不需要输入密码)
- 多台服务器之间通信,使用ssh-kengen生成密钥,避免ssh scp等命令输入验证密码
- 利用ssh-keygen生成git公密钥 实现git无密码登录
- 普通用户利用脚本及runas自动更改IP(无需输入密码)
- Linux下利用glibc2库和crypt()函数生成用户密码
- Python 利用StringVar接收用户输入, 制作用户名和密码的验证登录窗口
- [转] 动态地生成用户输入的函数表达式
- 【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用户表,用户登录、注册、修改密码系统
- useradd umask报错 root用su 切换到普通用户提示输入密码并报密码错误
- Linux自动切换用户脚本,自动输入用户名密码
- sudo: /etc/sudoers is mode 0777, should be 0440 单用户 sudo不用输入密码的方法
- ios开发,用户登录界面,输入用户名之后点击Next后切换到密码输入框,密码输入框输入后点击Return,键盘回收
- usermod命令,用户密码管理,mkpasswd随机生成密码
- 编写一个密码类,其中包含一个 str 密码字符串私有成员数据,一个“==”运算 符重载成员函数,用于比较用户输入的密码是否正确。并用数据测试该类。
- 生成随机密码 可生成微信密钥key
- Win7如何利用系统放大镜工具更改用户密码
- LDAP 用户认证 判断输入用户名和密码是否正确
- 获取shadow密码并验证用户输入密码 xK)ib!BdmJYr
- 利用 SQL Server Reporting Services 从应用程序生成用户友好的报表
- 在图形用户登录界面输入正确用户名与密码后,闪了一下(即将要登录进去那一刹那),它NND给我蹦出来了!