以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]获取机器码生成一串数字的方法是如何实现的?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63434)

--  作者:黄训良
--  发布时间:2015/1/21 8:59:00
--  [求助]获取机器码生成一串数字的方法是如何实现的?

老师们,早上好!

请教:获取机器码生成一串数字的方法是如何实现的?


--  作者:Bin
--  发布时间:2015/1/21 9:02:00
--  
不一定要数字,直接加密成编码也行 http://www.foxtable.com/help/topics/1545.htm
--  作者:有点甜
--  发布时间:2015/1/21 9:03:00
--  

 经过一定的运算。

 

 比如,你获取 cup 和 硬盘 信息后,加密一下,就能得到一串字符


--  作者:黄训良
--  发布时间:2015/1/21 9:19:00
--  

老师,想学习,也是想转换成 阿拉伯数字

就像Foxtable 获取的机器码那样。

[此贴子已经被作者于2015-1-21 9:20:08编辑过]

--  作者:有点甜
--  发布时间:2015/1/21 9:24:00
--  

 参考思路。

 

http://www.cnblogs.com/Jan_Dai/archive/2010/12/06/1897472.html

 


--  作者:Bin
--  发布时间:2015/1/21 9:26:00
--  
Dim c As String = EncryptText(ComputerId,"abc","abc")
Dim str As String
For Each s As Char In c
   str=str & convert.toint32(s)
Next
output.show("数字化前:" & c)
output.show("数字化后:" & str)

--  作者:黄训良
--  发布时间:2015/1/21 9:30:00
--  
膜拜两位老师!去测试了,感谢!
--  作者:黄训良
--  发布时间:2015/1/21 10:35:00
--  

学习了,但没找到 转换回来的 方法!

 

For Each s As ** In str
   st =  convert.**(str)
Next
msgbox("还原后:" & st)


--  作者:Bin
--  发布时间:2015/1/21 10:36:00
--  
这个是做匹配的,你转换回来干嘛?
--  作者:lyfxybc
--  发布时间:2015/1/21 18:11:00
--  

参考:

Dim str As String =ComputerId
Dim Asc As New  ASCIIEncoding
Dim AscArr() As Byte  = Asc.GetBytes(str)
Dim Arys As  String
For i As Integer = 0 To AscArr.Length  -  1        
  Arys= Arys &  AscArr(i)
Next

 

 

e.Form.Controls("机器码").Value = (Arys.SubString(0,4))
e.Form.Controls("机器码1").Value = (Arys.SubString(4,4))
e.Form.Controls("机器码2").Value = (Arys.SubString(8,4))
e.Form.Controls("机器码3").Value = (Arys.SubString(12,4))
e.Form.Controls("机器码4").Value = (Arys.SubString(16,4))
e.Form.Controls("机器码5").Value = (Arys.SubString(20,4))

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 

 

If HardWareInfo.Ready = False \'如果没有初始化
    HardWareInfo.Initialize \'初始化HardWareInfo,提取硬件信息
End If
Dim Val1 As String
Dim Val2 As String
Dim Val3 As String
Dim Val4 As String
With HardWareInfo.CPU
    val1= .ProcessorId
End With

With HardWareInfo.BaseBoard
    val2= .SerialNumber
End With

With HardWareInfo.Disk
   
    val3= .Signature
End With

With HardWareInfo.Bios
   
    val4= .SerialNumber
End With

Dim Val5 As String = EncryptText(Val1 &  Val2  & Val3 & Val4,"a23","op#")

Dim str As String = Val5  \'ComputerId
Dim Asc As New  ASCIIEncoding
Dim AscArr() As Byte  = Asc.GetBytes(str)
Dim Arys As  String
For i As Integer = 0 To AscArr.Length  -  1        
  Arys= Arys &  AscArr(i)
Next

e.Form.Controls("机器码".Value = Arys   & "*" &   len(Arys)

 

抽取其中的数字组成机器码

 

 

最好再加入一个算法(公式),机器码用公式算出注册码,

 

 


 

[此贴子已经被作者于2015-1-21 20:34:06编辑过]