导航:首页 > 汽车产业 > 工业设备软件验证怎么做

工业设备软件验证怎么做

发布时间:2022-09-19 19:10:04

⑴ 请问怎么给软件加注册验证

要实现软件注册功能,首先需要知道实现注册机制要涉及到的几个问题:1、如何加入注册检测,判断软件是否注册;2、如何生成注册码,如何保证一个用户名只生成与之唯一对应的注册码;3、在软件不注册情况下,如何限制软件功能的局限性;4、对已经负费使用用户而言,不应造成使用不便。

首先,应该有一个生成注册码的算法,以下是我简单的一个生成15位注册码的算法:
//该函数返回一个CSTRING类型的15位注册码,入口参数为用户名
CString GetRegPasswd(CString &DirName)
{
//将用户名换算成15位注册码
long Num1,Num2,Num3;

char sn[16]={0};
CString p;
int i,len;

Num1=0;
Num2=0;
Num3=0;

len=int(strlen(DirName));
if(len!=0)
{
for( i=1;i<=len;i++)
{
//第一步算法
Num1=(long(Num1+(int(DirName[i-1])*i*i)*(i*sqrt(DirName[i-1])+1)))%100000;
//第二步算法
Num2=(Num2*i+(long(pow((int)DirName[i-1],2)*i)))%100000;
//第三步算法
Num3=(Num2+(long)sqrt(Num1))%100000;
}
//以下把三个算法结果分别生成5个字符,共有15个
for(i=0;i<5;i++)
sn[i]=(int)(Num1+31+i*i*i)%128;
for(i=5;i<10;i++)
sn[i]=(int)(Num2+31+i*i*i)%128;
for(i=10;i<15;i++)
sn[i]=(int)(Num3+31+i*i*i)%128;
sn[15]=0;
//以下循环把所有生成的字符转换为0---9,A---Z,a----z
for(i=0;i<15;i++)
{
while((sn[i]<'0' || sn[i]>'9') && (sn[i]<'A' || sn[i]>'Z') &&(sn[i]<'a' || sn[i]>'z') )
{
sn[i]=(sn[i]+31+7*i)%128;
}
}
//赋值给一个CSTRING变量,用做函数返回值
p.Format("%s",sn);
}
return p;
}
//检查软件是否注册的函数

BOOL GetRegFlag(void)
{
HKEY hKey = NULL;
BYTE i;

CString str;
str.LoadString(IDS_REG_KEY);// IDS_REG_KEY为在注册表中的子目录字符串

if (RegCreateKey(HKEY_CURRENT_USER, str, &hKey) != ERROR_SUCCESS) return false;

DWORD cbA;
cbA=sizeof(int);
if( RegQueryValueEx(hKey, "SzMima",NULL,NULL, &i,&cbA) != ERROR_SUCCESS)
return false;

BYTE j=i;
if(j==0)//0代表软件已经注册,可以正常使用
{
RegCloseKey(hKey);
return true;
}
else
{
RegCloseKey(hKey);
return false;
}

return false;
};
//设置软件已经注册标志的函数

BOOL SetRegFlag(void)
{
HKEY hKey = NULL;
BYTE i;

CString str;
str.LoadString(IDS_REG_KEY);// IDS_REG_KEY为在注册表中的子目录字符串

if (RegCreateKey(HKEY_CURRENT_USER, str, &hKey) != ERROR_SUCCESS) return false;

BYTE j=0;//0代表已经注册
if(RegSetValueEx(hKey, "SzMima", 0, REG_BINARY, &j,4) != ERROR_SUCCESS)
{
AfxMessageBox("设置注册表数据失败!");
return FALSE;
}
return false;
};
以上三个函数即可实现软件注册机制,只需要在程序初始化的时候加入以下几句代码即可
BOOL bReg= GetRegFlag ();
if(!bReg)
{
//在此加入限制功能或者拒绝是使用的代码
}
如果用户注册只需要加入以下代码即可
//这是我的程序中的一个注册界面,输入用户名和注册码提交后检验注册码是否正确的代码
void CRegEdit::OnBnClickedOk()
{
if(!UpdateData()) return;//取得编辑框的内容,并赋值到类变量中

m_RegUser.TrimLeft();//m_RegUser是用户名
m_RegUser.TrimRight();
if(m_RegUser.IsEmpty())
{
AfxMessageBox("用户名不能为空,请重新输入。");
GetDlgItem(IDC_REGUSER)->SetFocus();
return;
}
m_RegPasswd.TrimLeft();m_RegPasswd是注册码
m_RegPasswd.TrimRight();
if(m_RegPasswd.IsEmpty())
{
AfxMessageBox("注册码不能为空,请重新输入。");
GetDlgItem(IDC_REGPASSWD)->SetFocus();
return;
}
CString Passwd;
Passwd=GetRegPasswd(m_RegUser);//调用算法取得该用户名的注册码
if(Passwd==m_RegPasswd)//与用户输入的注册进行比较
{
SetRegFlag();//设置注册标志
OnOK();
}
else
AfxMessageBox("注册码错误,请重新输入。");
UpdateData(false);
}

RSA做软件的注册功能,如果密钥设置的比较大位数的话,基本别人是无法写出注册机的,但是防止别人暴破你的程序又是另一回事了。
Imports System.Security.Cryptography
Imports System.Text
Imports System.IO
Imports System.Xml

Public Class FrmReg
Inherits System.Windows.Forms.Form

'Dim xmlKeys As String 'A combination of both the public and 'private keys
'Dim xmlPublicKey As String 'The public key only
''The plaintext message in a byte array
'Dim PlainTextBArray As Byte()
''The cyphertext message in a byte array
'Dim CypherTextBArray As Byte()

#Region " Windows 窗体设计器生成的代码 "

Public Sub New()
MyBase.New()

'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()

'在 InitializeComponent() 调用之后添加任何初始化

End Sub

'窗体重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer

'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Friend WithEvents btnReg As System.Windows.Forms.Button
Friend WithEvents btnexit As System.Windows.Forms.Button
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents txtRegCode As System.Windows.Forms.TextBox
Friend WithEvents txtRegName As System.Windows.Forms.TextBox
Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
Private Sub InitializeComponent()
Me.btnReg = New System.Windows.Forms.Button
Me.btnexit = New System.Windows.Forms.Button
Me.txtRegName = New System.Windows.Forms.TextBox
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.txtRegCode = New System.Windows.Forms.TextBox
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel
Me.SuspendLayout()
'
'btnReg
'
Me.btnReg.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnReg.Location = New System.Drawing.Point(64, 192)
Me.btnReg.Name = "btnReg"
Me.btnReg.Size = New System.Drawing.Size(75, 24)
Me.btnReg.TabIndex = 0
Me.btnReg.Text = "注册(&R)"
'
'btnexit
'
Me.btnexit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnexit.Location = New System.Drawing.Point(168, 192)
Me.btnexit.Name = "btnexit"
Me.btnexit.Size = New System.Drawing.Size(75, 24)
Me.btnexit.TabIndex = 1
Me.btnexit.Text = "取消(&C)"
'
'txtRegName
'
Me.txtRegName.Location = New System.Drawing.Point(8, 24)
Me.txtRegName.Name = "txtRegName"
Me.txtRegName.Size = New System.Drawing.Size(296, 21)
Me.txtRegName.TabIndex = 2
Me.txtRegName.Text = ""
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(8, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(48, 16)
Me.Label1.TabIndex = 3
Me.Label1.Text = "注册名:"
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(8, 56)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(56, 16)
Me.Label2.TabIndex = 4
Me.Label2.Text = "注册码:"
'
'txtRegCode
'
Me.txtRegCode.Location = New System.Drawing.Point(8, 80)
Me.txtRegCode.Multiline = True
Me.txtRegCode.Name = "txtRegCode"
Me.txtRegCode.Size = New System.Drawing.Size(296, 104)
Me.txtRegCode.TabIndex = 5
Me.txtRegCode.Text = ""
'
'LinkLabel1
'
Me.LinkLabel1.Location = New System.Drawing.Point(128, 56)
Me.LinkLabel1.Name = "LinkLabel1"
Me.LinkLabel1.Size = New System.Drawing.Size(128, 16)
Me.LinkLabel1.TabIndex = 6
Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "http://Testbug.Net"
'
'FrmReg
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(306, 223)
Me.Controls.Add(Me.LinkLabel1)
Me.Controls.Add(Me.txtRegCode)
Me.Controls.Add(Me.txtRegName)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.btnexit)
Me.Controls.Add(Me.btnReg)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Name = "FrmReg"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "RSA&MD5注册例子程序 by www.TestBug.net"
Me.TopMost = True
Me.ResumeLayout(False)

End Sub

#End Region

Private Sub btnexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnexit.Click
Application.Exit()
End Sub

Private Sub btnReg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReg.Click
If txtRegName.Text = "" Then
MessageBox.Show("注册名不能为空", "提示")
Return
Else
If txtRegCode.Text = "" Then
MessageBox.Show("注册码不能为空", "提示")
Return
Else
If txtRegCode.Text.Length <> 172 Then
MessageBox.Show("注册码长度不对", "提示")
Return
End If
End If
End If
Try
Dim RSA As System.Security.Cryptography.RSACryptoServiceProvider = New System.Security.Cryptography.RSACryptoServiceProvider
'公钥
RSA.FromXmlString("xzALwAOqEcj8jWrKXyaecAhyz9W+++Faaw/=AQAB")
Dim RSADeformatter As System.Security.Cryptography.RSAPKCS1SignatureDeformatter = New System.Security.Cryptography.RSAPKCS1SignatureDeformatter(RSA)
'指定解密的时候HASH算法为MD5
RSADeformatter.SetHashAlgorithm("MD5")
Dim Regcode As Byte() = Convert.FromBase64String(txtRegCode.Text)
Dim RegName As Byte() = (New System.Text.ASCIIEncoding).GetBytes(txtRegName.Text)
Dim dataToHash As Byte() = (New System.Text.ASCIIEncoding).GetBytes(txtRegName.Text)
Dim hash As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)
'验证签名
If RSADeformatter.VerifySignature(hash, Regcode) Then
'注册通过的话就写入注册文件
Dim textWriter As XmlTextWriter = New XmlTextWriter("reg.xml", Nothing)
textWriter.WriteStartElement("RegInfo")
textWriter.WriteStartElement("RegName")
textWriter.WriteString(txtRegName.Text)
textWriter.WriteEndElement()
textWriter.WriteStartElement("RegCode")
textWriter.WriteString(txtRegCode.Text)
textWriter.WriteEndElement()
textWriter.Close()
MessageBox.Show("注册正确,谢谢注册本软件,请重新启动程序完成注册", "提示")
Application.Exit()
Else
MessageBox.Show("错误的注册码", "提示")
End If
Catch ex As Exception
'MessageBox.Show(ex.Message())
MessageBox.Show("错误的注册码", "提示")
End Try
End Sub

Private Sub FrmReg_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Application.Exit()
End Sub

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
System.Diagnostics.Process.Start("http://testbug.net")
End Sub
End Class

⑵ 设备验证怎么做

这个问题就有些大了,就GMP方面的设备验证来讲,现在并不成熟,但是资料要是打成TXT的估计都上G了。想要了解某方面的知识,首先的做法是了解他是什么,而不是怎么用。认识事物的顺序:who,what,how,when

⑶ 设备再验证怎么做

所谓再验证,系指一项生产工艺、一个系统或者一种原材料经过验证并在使用一个阶段以后,旨在证实其“验证状”没有发生漂移而进行的验证。可分为强制性再验证和检定、改变性再验证、定期再验证三种类型。和设备相关的情况有,一年一次的HEPA检漏。可能对产品质量造成重要影响的设备、系统的某种变更。对关键设备的定期再验证等。

⑷ 我问的问题是,怎样下载软件或安装某个软件,验证身份怎么验证,要填写哪些内容,才能完成呀!

一般你下载安装一个软件是不需要什么身份认证的,你直接下载对应的软件,然后点击安装,按照他的安装引导进行安装使用即可,如果需要什么验证之类的,建议从哪下载的去他的官网去查看一下。

⑸ 苹果手机怎么验证app 苹果手机软件验证方法

1、首先,我们打开手机【设置】

2、打开【设置】以后,向下滑屏幕,打开【通用】。

3、打开【通用】之后向下滑,找到【设备管理】。

4、打开【设备管理】我们可以看多未授权的【app】点击。

5、点击【验证app】。

6、最后在出现的弹框中再次点击【验证】即可。

⑹ 苹果手机软件怎么验证

苹果手机软件验证方法:


1、首先,我们打开手机【设置】


⑺ 工业设备软件如何做软件验证

买笔记本加什么税啊,要税也是卖的人缴税啊。
先看好样机,然后他拿货的时候,你跟着他去,等他拿出笔记本箱子时候,看看那个箱子拆过没有。一般是你付钱之前不会让你开箱检查的。你就说我检查无误就付钱,有问题就不付。他就会让你开箱检查。检查什么呢?看机子背面的笔记本型号和样机是不是一样,再看看和箱子上面的型号是不是一样。然后开机试试。一般自带有操作系统的机子是除了操作系统不会有什么软件的。看看有没有qq,暴风影音之类的娱乐软件,有的话,你就要多个心眼。注意是不是用过的。(打开qq,上面会记录上次登陆者的qq号,暴风影音也会记录播放过的片子)
好了,带爱机回家,即使你买到水货也不用慌,把发票,保修单等都收好,15天之类,你可以退货的。回来之后,还不放心,进下面这个网站查询是否是正版行货:

总之是发票,保修单要保管好。
至于你说的各个专卖店价位不一样,正常,报价不一样非常正常,你如果深入地还价,我想价格会接近的,你也可以说某某店子只要多少多少,看他怎么回答。
祝你好运
辛苦打这么多字 选我吧 谢谢

⑻ 软件测试流程是什么

测试流程依次如下:

1、需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team

2、测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager

3、用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester

4、执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员)

5、执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员)

6、defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester

7、测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.

8、用户体验、软件发布等。

(8)工业设备软件验证怎么做扩展阅读:

流程分析:

这个流程唯一的优点,就是能快速的发现并修复问题。

这个流程中,项目经理是核心,项目经理也确实是有多年开发与项目经验的牛人,他喜欢不定期分享上些前沿的技术。

对于测试来说,需求很不明确,测试文档与用例也是可有可无的产物,没有需求文档,或非常简陋,根据需求文档根本无法编写用例。

通用的测试用例,如登录、文件上传下载、列表翻页、日期选择、输入框验证、搜索等有一些“通用型”用例,以便在测试过程中做参考。

⑼ 安装软件要验证身份怎么验证

qq想要安装某某软件需要验证OPPO身份,但是密码不知道了,怎么解除?方法如下:

1、首先打开OPPO手机中的设置,点击进入“OPPO帐号”页面。

⑽ 软件注册码验证问题

软件注册都需要注册码,但是否生效,情况有两种,第一种是一输入就可以验证了,这个验证是软件本身就带有的。即这种注册的算法已经在软件里面,只要找出算法就可以做注册机了。(这种软件也是相对容易被破解的)第二种是输入注册码,然后要通过网络验证。即验证的算法不在软件本身,而是网络的另一边。可以是软件作者手里拿着,也可以放到一个网站去。如果遇到那种在你电脑里产生机器码,然后再把机器码邮寄给作者,然后作者再给你验证码这种情况,那么破解的唯一办法就是抓到软件作者,威逼利诱出算法了。。哈哈。。

阅读全文

与工业设备软件验证怎么做相关的资料

热点内容
宝马是什么平台打造 浏览:110
工业互联网时代如何融合 浏览:521
拉萨属于什么类型的工业 浏览:806
两厢自动档汽车有哪些 浏览:526
深圳工业用电大概多少钱 浏览:698
汽车机油尺怎么插 浏览:399
宝马的技术亮点有哪些 浏览:529
维亚诺奔驰电动中门怎么关 浏览:879
杭州到浦江汽车要多久 浏览:384
宝马x1适合什么年龄人开 浏览:907
汽车可加装的电子设备有哪些 浏览:68
别克汽车外拉手怎么拆装 浏览:13
28到30万左右的宝马车有哪些 浏览:555
汽车玻璃水如何防冻 浏览:28
奔驰w221多少排量 浏览:186
兴仁工业园区有哪些服装 浏览:540
碳纤维用于汽车哪些位置 浏览:749
工业火碱怎么清除 浏览:752
宝马5系车供气装置多少钱 浏览:602
宁波理工大学工业设计专业有哪些 浏览:447