C#写了一个简单的注册机制 每次生成的注册码都一样 求解

qq_29575049 2017-04-20 11:57:52
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Management;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
Random rd = new Random();
int num1 = rd.Next(100000, 999999);
int num2 = rd.Next(100000, 999999);
textBox1.Text = "" + num1 + getCpu() + num2;


string apppath = Environment.CurrentDirectory;
string path = apppath + @"\key.txt";
string str;
StreamReader sr = new StreamReader(path, false);
try
{

str = sr.ReadLine().ToString();
sr.Close();
this.textBox2.Text = str;///读取
}
catch
{

sr.Close();
}
// textBox2.Text = line;




}

public string getCpu()
{
string strCpu = null;
ManagementClass myCpu = new ManagementClass("win32_Processor");
ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
foreach (ManagementObject myObject in myCpuConnection)
{
strCpu = myObject.Properties["Processorid"].Value.ToString();
break;
}
return strCpu;
}

private void button1_Click(object sender, EventArgs e)
{
string str1 = textBox1.Text.Substring(6, 16);
var md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(str1)), 4, 8);
t2 = t2.Replace("-", "");

if (textBox2.Text == t2)
{
StreamWriter sw = new StreamWriter("key.txt", false);
sw.Write(textBox2.Text);

sw.Flush();
sw.Close();
Form1 f1 = new Form1();
f1.Show();
this.Hide();


}
else
{
if (textBox2.Text != "")
{
MessageBox.Show("注册码错误!");
}
}
...全文
389 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TinanBao 2017-04-21
  • 打赏
  • 举报
回复
你这个随机种子都一样,出的随机数都一样,要设置随机种子,最好是根据时间设置,或者GUID,参考一下下面的文章,时间种子的 http://blog.csdn.net/tinanbao/article/details/52229216
Mooyi_水 2017-04-21
  • 打赏
  • 举报
回复
伪随机,最好是把random提出去
编程有钱人了 2017-04-21
  • 打赏
  • 举报
回复
引用 4 楼 qq_29575049 的回复:
[quote=引用 1 楼 hanjun0612 的回复:]
private void Form2_Load(object sender, EventArgs e)
        {
            Random rd = new Random();
}
改为

Random rd = new Random();
private void Form2_Load(object sender, EventArgs e)
        {
           
} 
试试看。一般都是时间种子的问题
运行错误[/quote] 什么错误?
大然然 2017-04-21
  • 打赏
  • 举报
回复
用guid, 觉得guid里的 横杠符号不好看的话,就把 横杠符号replace掉
qq_29575049 2017-04-20
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
private void Form2_Load(object sender, EventArgs e)
        {
            Random rd = new Random();
}
改为

Random rd = new Random();
private void Form2_Load(object sender, EventArgs e)
        {
           
} 
试试看。一般都是时间种子的问题
运行错误
angel6709 2017-04-20
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
private void Form2_Load(object sender, EventArgs e)
        {
            Random rd = new Random();
}
改为

Random rd = new Random();
private void Form2_Load(object sender, EventArgs e)
        {
           
} 
试试看。一般都是时间种子的问题
angel6709 2017-04-20
  • 打赏
  • 举报
回复
Random rd = new Random((int)DateTime.Now.Ticks); 这样?
正怒月神 2017-04-20
  • 打赏
  • 举报
回复
private void Form2_Load(object sender, EventArgs e)
        {
            Random rd = new Random();
}
改为

Random rd = new Random();
private void Form2_Load(object sender, EventArgs e)
        {
           
} 
试试看。一般都是时间种子的问题
内容概要:本文介绍了软件定义汽车(SDV)的最佳实践案例,重点围绕基于Vector技术的电子电气(E/E)架构设计与实现。文档展示了高算力计算平台(HPC)、区域控器(Zone ECU)和车载网络(如CAN、Ethernet)的系统架构布局,并结合AUTOSAR操作系统(Classic/Adaptive)、虚拟化(Hypervisor)和SOA服务设计,构建现代化车载系统。通过vCANdrive平台演示了从开发、测试(SIL/HIL)、到OTA升级的全流程,涵盖传感器、执行器、应用层软件及云端协同的集成方案。同时展示了硬件原型(如树莓派、Triboard)和MICROSAR系列工具链在实际项目中的应用。; 适合人群:从事汽车电子系统开发、车载软件架构设计以及智能网联汽车研发的工程师和技术管理人员,具备一定的嵌入式系统或AUTOSAR基础者更佳。; 使用场景及目标:①理解软件定义汽车的整体架构设计方法;②掌握基于Vector工具链的HPC与区域控器集成方案;③实现OTA更新、SIL/HIL测试、ETH-CAN通信转换等关键技术验证;④支持智能驾驶(ADAS)与智能座舱(IVI)系统的快速原型开发。; 阅读建议:建议结合Vector相关工具(如PREEvision、CANoe4SW、MICROSAR)进行实践操作,重点关注系统分层设计、通信机与软件更新流程,同时可参考文档中的硬件连接示意图与信号映射关系进行仿真与实车验证。

111,112

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧