C# 写随机卡号和密码的方法

 Random RA = new Random();
        string CardNO; string PassNo = "";
        string RStr = "1234567890ABCDEFGHJIJKLMNOPQRSTUVWXYZ";
        private void button1_Click(object sender, EventArgs e)
        {

            for (int num = 1; num <= Convert.ToInt32(this.CardCount.Text); num++)
            {
                this.CardNO = "";
                this.PassNo = "";
                for (int num2 = 1; num2 <= 12; num2++)
                {
                    int maxValue = this.RA.Next(35);
                    int startIndex = Convert.ToInt32(this.RA.Next(maxValue));
                    this.CardNO += this.RStr.Substring(startIndex, 1);
                    startIndex = Convert.ToInt32(this.RA.Next(maxValue));
                    this.PassNo += this.RStr.Substring(startIndex, 1);
                }
                Console.WriteLine($"{this.CardNO},    {this.PassNo}");
            }
        }


每个取值,都经过2次随机去取的,重复的机会没有吧,而且是卡号和密码一一对应。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用C#内置的`Random`类来生成随机密码,然后使用密码强度校验器来确保密码强度。以下是一个示例代码: ```csharp using System; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Web.Security; public static class PasswordGenerator { private static readonly Random Random = new Random(); public static string GeneratePassword(int length = 12) { const string validChars = "ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*?_-"; var password = new char[length]; for (var i = 0; i < length; i++) { var index = Random.Next(validChars.Length); password[i] = validChars[index]; } var passwordString = new string(password); var passwordValidator = new PasswordStrengthChecker(); var validationResult = passwordValidator.CheckPasswordStrength(passwordString); if (validationResult > MembershipPasswordStrength.Strong) { return passwordString; } return GeneratePassword(length); } } public class PasswordStrengthChecker { public MembershipPasswordStrength CheckPasswordStrength(string password) { var score = 0; var hasDigit = false; var hasLowerCase = false; var hasUpperCase = false; var hasNonAlphanumeric = false; foreach (var c in password) { if (char.IsDigit(c)) { hasDigit = true; score += 1; } else if (char.IsLower(c)) { hasLowerCase = true; score += 1; } else if (char.IsUpper(c)) { hasUpperCase = true; score += 1; } else { hasNonAlphanumeric = true; score += 2; } } if (!hasDigit || !hasLowerCase || !hasUpperCase || !hasNonAlphanumeric) { score = Math.Max(1, score); } if (password.Length < 8) { score = Math.Max(1, score); } else if (password.Length < 11) { score += 1; } else { score += 2; } if (score <= 1) { return MembershipPasswordStrength.Weak; } if (score <= 3) { return MembershipPasswordStrength.Medium; } if (score <= 6) { return MembershipPasswordStrength.Strong; } return MembershipPasswordStrength.VeryStrong; } } ``` 这个代码使用`Random`类生成随机数,并使用自定义的`PasswordStrengthChecker`类校验密码强度。你可以按照自己的需要修改密码长度和密码强度校验规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值