diff --git a/framework/Furion.Pure/DataEncryption/Encryptions/DESCEncryption.cs b/framework/Furion.Pure/DataEncryption/Encryptions/DESCEncryption.cs
index 897c4a5971adbd30bc26399c0d6dd2221f4452c4..aaa78c6fd6873bbfc25cf704bcc4b051913df9f9 100644
--- a/framework/Furion.Pure/DataEncryption/Encryptions/DESCEncryption.cs
+++ b/framework/Furion.Pure/DataEncryption/Encryptions/DESCEncryption.cs
@@ -1,12 +1,12 @@
-// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// 让 .NET 开发更简单,更通用,更流行。
// Copyright © 2020-2021 Furion, 百小僧, Baiqian Co.,Ltd.
//
// 框架名称:Furion
// 框架作者:百小僧
// 框架版本:2.8.9
-// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
-// Github:https://github.com/monksoul/Furion
+// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
+// Github:https://github.com/monksoul/Furion
// 开源协议:Apache-2.0(https://gitee.com/dotnetchina/Furion/blob/master/LICENSE)
// -----------------------------------------------------------------------------
@@ -28,15 +28,16 @@ namespace Furion.DataEncryption
///
/// 加密文本
/// 密钥
+ /// 内部Md5加密是否转大写,默认:false
///
- public static string Encrypt(string text, string skey)
+ public static string Encrypt(string text, string skey, bool isUpper = false)
{
using var des = new DESCryptoServiceProvider();
byte[] inputByteArray;
inputByteArray = Encoding.Default.GetBytes(text);
- des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
- des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
+ des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
+ des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
using var ms = new System.IO.MemoryStream();
using var cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
@@ -58,8 +59,9 @@ namespace Furion.DataEncryption
///
/// 加密后字符串
/// 密钥
+ /// 内部Md5加密是否转大写,默认:false
///
- public static string Decrypt(string hash, string skey)
+ public static string Decrypt(string hash, string skey, bool isUpper = false)
{
using var des = new DESCryptoServiceProvider();
int len;
@@ -73,8 +75,8 @@ namespace Furion.DataEncryption
inputByteArray[x] = (byte)i;
}
- des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
- des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
+ des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
+ des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
using var ms = new System.IO.MemoryStream();
using var cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
diff --git a/framework/Furion.Pure/DataEncryption/Encryptions/MD5Encryption.cs b/framework/Furion.Pure/DataEncryption/Encryptions/MD5Encryption.cs
index 1402456f1fb95c29fc1ea61a2a867af915386805..08a730406d11604bf4ca4cc18a2e70729a20070f 100644
--- a/framework/Furion.Pure/DataEncryption/Encryptions/MD5Encryption.cs
+++ b/framework/Furion.Pure/DataEncryption/Encryptions/MD5Encryption.cs
@@ -1,12 +1,12 @@
-// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// 让 .NET 开发更简单,更通用,更流行。
// Copyright © 2020-2021 Furion, 百小僧, Baiqian Co.,Ltd.
//
// 框架名称:Furion
// 框架作者:百小僧
// 框架版本:2.8.9
-// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
-// Github:https://github.com/monksoul/Furion
+// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
+// Github:https://github.com/monksoul/Furion
// 开源协议:Apache-2.0(https://gitee.com/dotnetchina/Furion/blob/master/LICENSE)
// -----------------------------------------------------------------------------
@@ -24,8 +24,16 @@ namespace Furion.DataEncryption
[SkipScan]
public static unsafe class MD5Encryption
{
+ ///
+ /// 小写
+ ///
private const uint LOWERCASING = 0x2020U;
+ ///
+ /// 大写
+ ///
+ private const uint UPPERCASING = 0;
+
private static readonly delegate* managed, Span, uint, void> _EncodeToUtf16Ptr;
[ThreadStatic]
@@ -49,10 +57,11 @@ namespace Furion.DataEncryption
///
/// 加密文本
/// MD5 字符串
+ /// 是否转大写,默认:false
/// bool
- public static bool Compare(string text, string hash)
+ public static bool Compare(string text, string hash, bool isUpper = false)
{
- var hashOfInput = Encrypt(text);
+ var hashOfInput = Encrypt(text, isUpper);
return hash.Equals(hashOfInput, StringComparison.OrdinalIgnoreCase);
}
@@ -60,15 +69,16 @@ namespace Furion.DataEncryption
/// MD5 加密
///
/// 加密文本
+ /// 是否转大写,默认:false
///
- public static string Encrypt(string text)
+ public static string Encrypt(string text, bool isUpper = false)
{
- return string.Create(32, text, static (p, q) =>
+ return string.Create(32, text, (p, q) =>
{
var buffer = Encoding.UTF8.GetBytes(q);
Span signed = stackalloc byte[16];
Instance.TryComputeHash(buffer, signed, out _);
- _EncodeToUtf16Ptr(signed, p, LOWERCASING);
+ _EncodeToUtf16Ptr(signed, p, isUpper ? UPPERCASING : LOWERCASING);
});
}
}
diff --git a/framework/Furion/DataEncryption/Encryptions/DESCEncryption.cs b/framework/Furion/DataEncryption/Encryptions/DESCEncryption.cs
index 897c4a5971adbd30bc26399c0d6dd2221f4452c4..aaa78c6fd6873bbfc25cf704bcc4b051913df9f9 100644
--- a/framework/Furion/DataEncryption/Encryptions/DESCEncryption.cs
+++ b/framework/Furion/DataEncryption/Encryptions/DESCEncryption.cs
@@ -1,12 +1,12 @@
-// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// 让 .NET 开发更简单,更通用,更流行。
// Copyright © 2020-2021 Furion, 百小僧, Baiqian Co.,Ltd.
//
// 框架名称:Furion
// 框架作者:百小僧
// 框架版本:2.8.9
-// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
-// Github:https://github.com/monksoul/Furion
+// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
+// Github:https://github.com/monksoul/Furion
// 开源协议:Apache-2.0(https://gitee.com/dotnetchina/Furion/blob/master/LICENSE)
// -----------------------------------------------------------------------------
@@ -28,15 +28,16 @@ namespace Furion.DataEncryption
///
/// 加密文本
/// 密钥
+ /// 内部Md5加密是否转大写,默认:false
///
- public static string Encrypt(string text, string skey)
+ public static string Encrypt(string text, string skey, bool isUpper = false)
{
using var des = new DESCryptoServiceProvider();
byte[] inputByteArray;
inputByteArray = Encoding.Default.GetBytes(text);
- des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
- des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
+ des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
+ des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
using var ms = new System.IO.MemoryStream();
using var cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
@@ -58,8 +59,9 @@ namespace Furion.DataEncryption
///
/// 加密后字符串
/// 密钥
+ /// 内部Md5加密是否转大写,默认:false
///
- public static string Decrypt(string hash, string skey)
+ public static string Decrypt(string hash, string skey, bool isUpper = false)
{
using var des = new DESCryptoServiceProvider();
int len;
@@ -73,8 +75,8 @@ namespace Furion.DataEncryption
inputByteArray[x] = (byte)i;
}
- des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
- des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey).Substring(0, 8));
+ des.Key = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
+ des.IV = Encoding.ASCII.GetBytes(MD5Encryption.Encrypt(skey, isUpper).Substring(0, 8));
using var ms = new System.IO.MemoryStream();
using var cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
diff --git a/framework/Furion/DataEncryption/Encryptions/MD5Encryption.cs b/framework/Furion/DataEncryption/Encryptions/MD5Encryption.cs
index 1402456f1fb95c29fc1ea61a2a867af915386805..08a730406d11604bf4ca4cc18a2e70729a20070f 100644
--- a/framework/Furion/DataEncryption/Encryptions/MD5Encryption.cs
+++ b/framework/Furion/DataEncryption/Encryptions/MD5Encryption.cs
@@ -1,12 +1,12 @@
-// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// 让 .NET 开发更简单,更通用,更流行。
// Copyright © 2020-2021 Furion, 百小僧, Baiqian Co.,Ltd.
//
// 框架名称:Furion
// 框架作者:百小僧
// 框架版本:2.8.9
-// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
-// Github:https://github.com/monksoul/Furion
+// 源码地址:Gitee: https://gitee.com/dotnetchina/Furion
+// Github:https://github.com/monksoul/Furion
// 开源协议:Apache-2.0(https://gitee.com/dotnetchina/Furion/blob/master/LICENSE)
// -----------------------------------------------------------------------------
@@ -24,8 +24,16 @@ namespace Furion.DataEncryption
[SkipScan]
public static unsafe class MD5Encryption
{
+ ///
+ /// 小写
+ ///
private const uint LOWERCASING = 0x2020U;
+ ///
+ /// 大写
+ ///
+ private const uint UPPERCASING = 0;
+
private static readonly delegate* managed, Span, uint, void> _EncodeToUtf16Ptr;
[ThreadStatic]
@@ -49,10 +57,11 @@ namespace Furion.DataEncryption
///
/// 加密文本
/// MD5 字符串
+ /// 是否转大写,默认:false
/// bool
- public static bool Compare(string text, string hash)
+ public static bool Compare(string text, string hash, bool isUpper = false)
{
- var hashOfInput = Encrypt(text);
+ var hashOfInput = Encrypt(text, isUpper);
return hash.Equals(hashOfInput, StringComparison.OrdinalIgnoreCase);
}
@@ -60,15 +69,16 @@ namespace Furion.DataEncryption
/// MD5 加密
///
/// 加密文本
+ /// 是否转大写,默认:false
///
- public static string Encrypt(string text)
+ public static string Encrypt(string text, bool isUpper = false)
{
- return string.Create(32, text, static (p, q) =>
+ return string.Create(32, text, (p, q) =>
{
var buffer = Encoding.UTF8.GetBytes(q);
Span signed = stackalloc byte[16];
Instance.TryComputeHash(buffer, signed, out _);
- _EncodeToUtf16Ptr(signed, p, LOWERCASING);
+ _EncodeToUtf16Ptr(signed, p, isUpper ? UPPERCASING : LOWERCASING);
});
}
}