Essa funcao executa
'A função GerarLicenca recebe os números do processador e da placa-mãe como entrada,
'calcula um hash SHA-256 a partir da concatenação desses números
'e retorna os últimos 10 dígitos desse hash como uma licença.
'Usado para gerar uma licença única com base nas especificações do hardware.
Function GerarLicenca(NumeroProcessador As String, NumeroPlacaMae As String) As String
Dim chave As String
Dim hash As String
' Concatena os números do processador e da placa-mãe
chave = NumeroProcessador & NumeroPlacaMae
' Criar objeto de hash SHA-256
Dim objSHA256 As Object
Set objSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed")
' Calcula o hash SHA-256 da chave concatenada
Dim bytes() As Byte
bytes = StrConv(chave, vbFromUnicode)
bytes = objSHA256.ComputeHash_2(bytes)
' Converte o hash SHA-256 em uma string hexadecimal
hash = ""
Dim i As Integer
For i = LBound(bytes) To UBound(bytes)
hash = hash & Right("0" & Hex(bytes(i)), 2)
Next i
' Mantém apenas os últimos 10 dígitos do hash
GerarLicenca = Right(hash, 10)
End Function
Criei uma Declaração da variável global assim:
Option Compare Database
Public chaveLicencaGlobal As String
Quando tento usá para ser demonstrada num FrmQualquer em campo texto com esse codigo:
Private Sub Form_Load()
' Define o valor do rótulo para o valor da variável global
Me.txtChaveLicenca.value = chaveLicencaGlobal
End Sub
e
Private Sub Form_Open(Cancel As Integer)
' Atribui um valor à variável global
chaveLicencaGlobal = chaveLicencaGlobal
End Sub
aparece a palavra chaveLicencaGlobal.
Gostaria que fosse mostrado o que foi armazenado nela.
Alguma dica...
Obrigado
'A função GerarLicenca recebe os números do processador e da placa-mãe como entrada,
'calcula um hash SHA-256 a partir da concatenação desses números
'e retorna os últimos 10 dígitos desse hash como uma licença.
'Usado para gerar uma licença única com base nas especificações do hardware.
Function GerarLicenca(NumeroProcessador As String, NumeroPlacaMae As String) As String
Dim chave As String
Dim hash As String
' Concatena os números do processador e da placa-mãe
chave = NumeroProcessador & NumeroPlacaMae
' Criar objeto de hash SHA-256
Dim objSHA256 As Object
Set objSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed")
' Calcula o hash SHA-256 da chave concatenada
Dim bytes() As Byte
bytes = StrConv(chave, vbFromUnicode)
bytes = objSHA256.ComputeHash_2(bytes)
' Converte o hash SHA-256 em uma string hexadecimal
hash = ""
Dim i As Integer
For i = LBound(bytes) To UBound(bytes)
hash = hash & Right("0" & Hex(bytes(i)), 2)
Next i
' Mantém apenas os últimos 10 dígitos do hash
GerarLicenca = Right(hash, 10)
End Function
Criei uma Declaração da variável global assim:
Option Compare Database
Public chaveLicencaGlobal As String
Quando tento usá para ser demonstrada num FrmQualquer em campo texto com esse codigo:
Private Sub Form_Load()
' Define o valor do rótulo para o valor da variável global
Me.txtChaveLicenca.value = chaveLicencaGlobal
End Sub
e
Private Sub Form_Open(Cancel As Integer)
' Atribui um valor à variável global
chaveLicencaGlobal = chaveLicencaGlobal
End Sub
aparece a palavra chaveLicencaGlobal.
Gostaria que fosse mostrado o que foi armazenado nela.
Alguma dica...
Obrigado