Cur*_*ite 35 regex membership asp.net asp.net-membership
如何使用Membership.GeneratePassword返回仅包含字母或数字字符的密码?默认方法仅保证最小数量而非最大数量的非字母数字密码.
Cur*_*ite 57
string newPassword = Membership.GeneratePassword(15, 0);
newPassword = Regex.Replace(newPassword, @"[^a-zA-Z0-9]", m => "9" );
Run Code Online (Sandbox Code Playgroud)
此正则表达式将使用数字字符9替换所有非字母数字字符.
小智 15
获取8个字符的字母数字密码的简单方法是生成一个guid并使用它作为基础:
string newPwd = Guid.NewGuid().ToString().Substring(0, 8);
Run Code Online (Sandbox Code Playgroud)
如果您需要更长的密码,只需使用子字符串跳过短划线:
string newPwd = Guid.NewGuid().ToString().Substring(0, 11);
newPwd = newPwd.Substring(0, 8) + newPwd.Substring(9, 2); // to skip the dash.
Run Code Online (Sandbox Code Playgroud)
如果你想确保第一个字符是alpha,你可以在需要时用固定字符串替换if(newPwd [0]> ='0'&& newPwd [0] <='9')...
我希望有人能发现这有用.:-)
Sol*_*lyM 15
我意识到可能有办法做到这一点.GUID方法很棒,除了它不混合UPPER和小写字母.在我的情况下,它只生成小写.
所以我决定使用正则表达式删除非alphas然后将结果子串到我需要的长度.
string newPassword = Membership.GeneratePassword(50, 0);
newPassword = Regex.Replace(newPassword, @"[^a-zA-Z0-9]", m => "");
newPassword = newPassword.Substring(0, 10);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27840 次 |
| 最近记录: |