第一次提交至Git

This commit is contained in:
2024-03-11 16:32:52 +08:00
commit 3f6c4d62b9
2865 changed files with 2172317 additions and 0 deletions

164
UTS_Core/Security/Aes128.vb Normal file
View File

@@ -0,0 +1,164 @@
Imports System.Security.Cryptography
Imports System.Text
Namespace Security
Public Class Aes128
'todo解密秘钥不应出现明文考虑修改为十六进制数组
''' <summary>服务器密钥</summary>
Public Shared ReadOnly ServerAesKey As String = "^5GHo96tr5ff&*Hphg7665^fyu&uOhj0j[0[(jOIhI&g77FgghO*hhHY8h(*H&-987OygO8yg*yS$&G&aG9*&6g96*&7^RA65s76r*&&G(*(7(Gyg7#7Ff7F*&(*&&^"
''' <summary>
''' 加密文本为Base64编码
''' </summary>
''' <param name="source">需要加密字符串</param>
''' <param name="key">密钥</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function EncryptStr(source As String, key As String) As String
Dim inBuff As Byte()
Dim crypt As ICryptoTransform
Dim msp As New MD5CryptoServiceProvider
Using encrypt As Aes = Aes.Create("AES")
Dim keyBytes() As Byte = msp.ComputeHash(Encoding.UTF8.GetBytes(key))
encrypt.BlockSize = keyBytes.Length * 8
encrypt.Key = keyBytes
encrypt.IV = keyBytes
encrypt.Mode = CipherMode.CBC
encrypt.Padding = PaddingMode.PKCS7
crypt = encrypt.CreateEncryptor()
End Using
inBuff = Encoding.UTF8.GetBytes(source)
msp.Dispose()
Return Convert.ToBase64String(crypt.TransformFinalBlock(inBuff, 0, inBuff.Length))
End Function
''' <summary>
''' 加密文本为Base64编码
''' </summary>
''' <param name="source">需要加密字符串</param>
''' <param name="key">密钥</param>
''' <returns></returns>
Public Shared Function EncryptStr(ByVal source As String, key() As Byte) As String
Dim inBuff As Byte()
Dim crypt As ICryptoTransform
Dim msp As New MD5CryptoServiceProvider
Using encrypt As Aes = Aes.Create("AES")
Dim keyBytes() As Byte = msp.ComputeHash(key)
encrypt.BlockSize = keyBytes.Length * 8
encrypt.Key = keyBytes
encrypt.IV = keyBytes
encrypt.Mode = CipherMode.CBC
encrypt.Padding = PaddingMode.PKCS7
crypt = encrypt.CreateEncryptor()
End Using
inBuff = Encoding.UTF8.GetBytes(source)
msp.Dispose()
Return Convert.ToBase64String(crypt.TransformFinalBlock(inBuff, 0, inBuff.Length))
End Function
''' <summary>
''' 加密文本为Base64编码
''' </summary>
''' <param name="source">需要加密字符串</param>
''' <param name="key">密钥</param>
''' <param name="encode">密钥转换字符编码</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function EncryptStr(ByVal source As String, ByVal key As String, ByVal encode As Encoding) As String
Dim inBuff As Byte()
Dim crypt As ICryptoTransform
Dim msp As New MD5CryptoServiceProvider
Using encrypt As Aes = Aes.Create("AES")
Dim keyBytes() As Byte = msp.ComputeHash(encode.GetBytes(key))
encrypt.BlockSize = keyBytes.Length * 8
encrypt.Key = keyBytes
encrypt.IV = keyBytes
encrypt.Mode = CipherMode.CBC
encrypt.Padding = PaddingMode.PKCS7
crypt = encrypt.CreateEncryptor()
End Using
inBuff = encode.GetBytes(source)
msp.Dispose()
Return Convert.ToBase64String(crypt.TransformFinalBlock(inBuff, 0, inBuff.Length))
End Function
''' <summary>
''' 解密Base64编码的字符串
''' </summary>
''' <param name="encodedStr">需要解密字符串</param>
''' <param name="key">密钥</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function DecryptStr(ByVal encodedStr As String, ByVal key As String) As String
Dim inBuff As Byte()
Dim crypt As ICryptoTransform
Dim msp As New MD5CryptoServiceProvider
Using decrypt As Aes = Aes.Create("AES")
Dim keyBytes() As Byte = msp.ComputeHash(Encoding.UTF8.GetBytes(key)) '设置密钥
decrypt.BlockSize = keyBytes.Length * 8
decrypt.Key = keyBytes
decrypt.IV = keyBytes
decrypt.Mode = CipherMode.CBC
decrypt.Padding = PaddingMode.PKCS7
crypt = decrypt.CreateDecryptor()
End Using
inBuff = Convert.FromBase64String(encodedStr)
msp.Dispose()
Return Encoding.UTF8.GetString(crypt.TransformFinalBlock(inBuff, 0, inBuff.Length))
End Function
''' <summary>
''' 解密Base64编码的字符串
''' </summary>
''' <param name="encodedStr">需要解密字符串</param>
''' <param name="key">密钥</param>
''' <returns></returns>
Public Shared Function DecryptStr(encodedStr As String, key() As Byte) As String
Dim inBuff As Byte()
Dim crypt As ICryptoTransform
Dim msp As New MD5CryptoServiceProvider
Using decrypt As Aes = Aes.Create("AES")
Dim keyBytes() As Byte = msp.ComputeHash(key)
decrypt.BlockSize = keyBytes.Length * 8
decrypt.Key = keyBytes
decrypt.IV = keyBytes
decrypt.Mode = CipherMode.CBC
decrypt.Padding = PaddingMode.PKCS7
crypt = decrypt.CreateDecryptor()
End Using
inBuff = Convert.FromBase64String(encodedStr)
msp.Dispose()
Return Encoding.UTF8.GetString(crypt.TransformFinalBlock(inBuff, 0, inBuff.Length))
End Function
''' <summary>
''' 解密Base64编码的字符串
''' </summary>
''' <param name="encodedStr">需要解密字符串</param>
''' <param name="key">密钥</param>
''' <param name="encode">密钥转换字符编码</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function DecryptStr(ByVal encodedStr As String, ByVal key As String, ByVal encode As Encoding) As String
Dim inBuff As Byte()
Dim crypt As ICryptoTransform
Dim msp As New MD5CryptoServiceProvider
Using decrypt As Aes = Aes.Create("AES")
Dim keyBytes() As Byte = msp.ComputeHash(encode.GetBytes(key)) '设置密钥
decrypt.BlockSize = keyBytes.Length * 8
decrypt.Key = keyBytes
decrypt.IV = keyBytes
decrypt.Mode = CipherMode.CBC
decrypt.Padding = PaddingMode.PKCS7
crypt = decrypt.CreateDecryptor()
End Using
inBuff = Convert.FromBase64String(encodedStr)
msp.Dispose()
Return encode.GetString(crypt.TransformFinalBlock(inBuff, 0, inBuff.Length))
End Function
End Class
End Namespace

40
UTS_Core/Security/MD5.vb Normal file
View File

@@ -0,0 +1,40 @@
Imports System.Security.Cryptography
Imports System.Text
Namespace Security
Public Class Md5
''' <summary>
''' 获取字符串的MD5值
''' </summary>
''' <param name="str">需要求MD5的原文字符串</param>
''' <returns></returns>
Public Shared Function GetStringMd5(str As String) As String
Dim md5Hasher As New MD5CryptoServiceProvider()
Dim data As Byte() = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(str))
Dim fileMd5 As New StringBuilder()
Dim i As Integer
For i = 0 To data.Length - 1
fileMd5.Append(data(i).ToString("X2"))
Next
Return fileMd5.ToString()
End Function
''' <summary>
''' 获取文件的MD5值
''' </summary>
''' <param name="filepath">文件路径</param>
''' <returns></returns>
Public Shared Function GetFileMd5(filepath As String) As String
Dim md5Hasher As New MD5CryptoServiceProvider()
Dim data As Byte() = md5Hasher.ComputeHash(IO.File.ReadAllBytes(filepath))
Dim fileMd5 As New StringBuilder()
Dim i As Integer
For i = 0 To data.Length - 1
fileMd5.Append(data(i).ToString("X2"))
Next
Return fileMd5.ToString()
End Function
End Class
End Namespace