-
Notifications
You must be signed in to change notification settings - Fork 0
hantrax/Civil3d_PSET
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
'Imports System.Management
Imports System.Security.Cryptography
Imports System.IO
Namespace AutoCAD_CartigliAutomatici
Public NotInheritable Class ED_Licenza
Private TripleDes As New TripleDESCryptoServiceProvider
Public Function TestEncoding(stringa As String)
Dim wrapper As New AutoCAD_CartigliAutomatici.ED_Licenza(password)
Dim lic_encode As String = wrapper.EncryptData(stringa)
Dim Path_Lic As String = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location) & "Lic"
' My.Computer.FileSystem.WriteAllText(
'My.Computer.FileSystem.SpecialDirectories.MyDocuments &
' "\lic.dat", lic_encode, False)
Return lic_encode
End Function
Public Function TestDecoding(stringa As String)
Dim dir As String = Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly.Location)
Dim strDecode As String = Nothing
Dim wrapper As New AutoCAD_CartigliAutomatici.ED_Licenza(password)
' DecryptData throws if the wrong password is used.
Try
Dim plainText As String = wrapper.DecryptData(stringa)
strDecode = plainText
Catch ex As System.Security.Cryptography.CryptographicException
MsgBox("The data could not be decrypted with the password.",, _caption)
End Try
Return strDecode
End Function
Public Function GetDriveSerialNumber() As String
Dim DriveSerial As Integer
'Create a FileSystemObject object
Dim fso As Object = CreateObject("Scripting.FileSystemObject")
Dim Drv As Object = fso.GetDrive(fso.GetDriveName(System.Reflection.Assembly.GetExecutingAssembly.Location))
With Drv
If .IsReady Then
DriveSerial = .SerialNumber
Else '"Drive Not Ready!"
DriveSerial = -1
End If
End With
Return DriveSerial.ToString("X2")
End Function
Public Function GetMacAddress() As String
Dim cpuID As String = String.Empty
Dim mc As Management.ManagementClass = New Management.ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As Management.ManagementObjectCollection = mc.GetInstances()
For Each mo As Management.ManagementObject In moc
If (cpuID = String.Empty And CBool(mo.Properties("IPEnabled").Value) = True) Then
cpuID = mo.Properties("MacAddress").Value.ToString()
End If
Next
Return cpuID
End Function
Public Function GetNomePC() As String
Dim PCNome As String = Environment.MachineName
Return PCNome
End Function
Public Function GetDomain() As String
Dim domainAndUserName As String = Environment.UserDomainName
Return domainAndUserName
End Function
Public Function GetCPU_ID() As String
Dim cpuID As String = String.Empty
Dim mc As Management.ManagementClass = New Management.ManagementClass("Win32_Processor")
Dim moc As Management.ManagementObjectCollection = mc.GetInstances()
For Each mo As Management.ManagementObject In moc
If (cpuID = String.Empty) Then
cpuID = mo.Properties("ProcessorId").Value.ToString()
End If
Next
Return cpuID
End Function
Private Function TruncateHash(
ByVal key As String,
ByVal length As Integer) As Byte()
Dim sha1 As New SHA1CryptoServiceProvider
' Hash the key.
Dim keyBytes() As Byte =
System.Text.Encoding.Unicode.GetBytes(key)
Dim hash() As Byte = sha1.ComputeHash(keyBytes)
' Truncate or pad the hash.
ReDim Preserve hash(length - 1)
Return hash
End Function
Sub New(ByVal key As String)
' Initialize the crypto provider.
TripleDes.Key = TruncateHash(key, TripleDes.KeySize \ 8)
TripleDes.IV = TruncateHash("", TripleDes.BlockSize \ 8)
End Sub
Public Function EncryptData(
ByVal plaintext As String) As String
' Convert the plaintext string to a byte array.
Dim plaintextBytes() As Byte =
System.Text.Encoding.Unicode.GetBytes(plaintext)
' Create the stream.
Dim ms As New System.IO.MemoryStream
' Create the encoder to write to the stream.
Dim encStream As New CryptoStream(ms,
TripleDes.CreateEncryptor(),
System.Security.Cryptography.CryptoStreamMode.Write)
' Use the crypto stream to write the byte array to the stream.
encStream.Write(plaintextBytes, 0, plaintextBytes.Length)
encStream.FlushFinalBlock()
' Convert the encrypted stream to a printable string.
Return Convert.ToBase64String(ms.ToArray)
End Function
Public Function DecryptData(
ByVal encryptedtext As String) As String
' Convert the encrypted text string to a byte array.
Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)
' Create the stream.
Dim ms As New System.IO.MemoryStream
' Create the decoder to write to the stream.
Dim decStream As New CryptoStream(ms,
TripleDes.CreateDecryptor(),
System.Security.Cryptography.CryptoStreamMode.Write)
' Use the crypto stream to write the byte array to the stream.
decStream.Write(encryptedBytes, 0, encryptedBytes.Length)
decStream.FlushFinalBlock()
' Convert the plaintext stream to a string.
Return System.Text.Encoding.Unicode.GetString(ms.ToArray)
End Function
End Class
End Namespace
About
No description, website, or topics provided.
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published