@@ -106,7 +106,7 @@ public class WarnInfoService : DbRepository<WarnInfo>, IWarnInfoService, ITransi | |||||
//var issend = _simpleCacheService.Get<string>($"SMS_send{phone.SysUserItem.Phone}"); | //var issend = _simpleCacheService.Get<string>($"SMS_send{phone.SysUserItem.Phone}"); | ||||
//if (issend != null) return true; | //if (issend != null) return true; | ||||
//var sendState = await _smsUtilService.SendSms(new[] { "+86" + CryptogramUtil.Sm4Decrypt(phone.SysUserItem.Phone) }, null); | |||||
//var sendState = await _smsUtilService.SendSms(new[] { "+86" + Q3J5cHRvZ3JhbVV0aWw.U200RGVjcnlwdA(phone.SysUserItem.Phone) }, null); | |||||
//if (sendState) | //if (sendState) | ||||
//{ | //{ | ||||
// var configInterval = (await _configService.GetByConfigKey(CateGoryConst.CONFIG_BIZ_DEFINE, | // var configInterval = (await _configService.GetByConfigKey(CateGoryConst.CONFIG_BIZ_DEFINE, | ||||
@@ -1264,162 +1264,208 @@ | |||||
</summary> | </summary> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.CryptogramUtil"> | |||||
<member name="T:SafeCampus.Core.Utils.Q3J5cHRvZ3JhbVV0aWw"> | |||||
<summary> | <summary> | ||||
加解密功能 | 加解密功能 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.CryptogramUtil.Sm2Decrypt(System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.Q3J5cHRvZ3JhbVV0aWw.U20yRGVjcnlwdA(System.String)"> | |||||
<summary> | <summary> | ||||
SM2解密 | SM2解密 | ||||
</summary> | </summary> | ||||
<param name="str">密文</param> | <param name="str">密文</param> | ||||
<returns>明文</returns> | <returns>明文</returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.CryptogramUtil.Sm2Encrypt(System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.Q3J5cHRvZ3JhbVV0aWw.U20yRW5jcnlwdA(System.String)"> | |||||
<summary> | <summary> | ||||
SM2加密 | SM2加密 | ||||
</summary> | </summary> | ||||
<param name="str">明文</param> | <param name="str">明文</param> | ||||
<returns>密文</returns> | <returns>密文</returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.CryptogramUtil.Sm4Decrypt(System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.Q3J5cHRvZ3JhbVV0aWw.U200RGVjcnlwdA(System.String)"> | |||||
<summary> | <summary> | ||||
SM4解密 | SM4解密 | ||||
</summary> | </summary> | ||||
<param name="str">密文</param> | <param name="str">密文</param> | ||||
<returns>明文</returns> | <returns>明文</returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.CryptogramUtil.Sm4Encrypt(System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(System.String)"> | |||||
<summary> | <summary> | ||||
SM4加密 | SM4加密 | ||||
</summary> | </summary> | ||||
<param name="str">明文</param> | <param name="str">明文</param> | ||||
<returns>密文</returns> | <returns>密文</returns> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.SM2Util"> | |||||
<member name="T:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA"> | |||||
<summary> | <summary> | ||||
SM2加密解密 | |||||
SM4工具类 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM2Util.PublicKey"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.GetULongByBe(System.Byte[],System.Int32)"> | |||||
<summary> | <summary> | ||||
公钥 | |||||
加密 非线性τ函数B=τ(A) | |||||
</summary> | </summary> | ||||
<param name="b"></param> | |||||
<param name="i"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM2Util.PrivateKey"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.PutULongToBe(System.Int64,System.Byte[],System.Int32)"> | |||||
<summary> | <summary> | ||||
私钥 | |||||
解密 非线性τ函数B=τ(A) | |||||
</summary> | </summary> | ||||
<param name="n"></param> | |||||
<param name="b"></param> | |||||
<param name="i"></param> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2Util.Encrypt(System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Rotl(System.Int64,System.Int32)"> | |||||
<summary> | <summary> | ||||
公钥加密明文 | |||||
循环移位,为32位的x循环左移n位 | |||||
</summary> | </summary> | ||||
<param name="plainText">明文</param> | |||||
<returns>密文</returns> | |||||
<param name="x"></param> | |||||
<param name="n"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2Util.Decrypt(System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Swap(System.Int64[],System.Int32)"> | |||||
<summary> | <summary> | ||||
私钥解密密文 | |||||
将密钥逆序 | |||||
</summary> | </summary> | ||||
<param name="cipherText">密文</param> | |||||
<returns>明文</returns> | |||||
<param name="sk"></param> | |||||
<param name="i"></param> | |||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.SM4Util"> | |||||
<member name="F:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.SboxTable"> | |||||
<summary> | <summary> | ||||
Sm4算法 | |||||
对标国际DES算法 | |||||
S盒 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM4Util.Data"> | |||||
<member name="F:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.FK"> | |||||
<summary> | <summary> | ||||
数据 | |||||
系统参数FK | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM4Util.Key"> | |||||
<member name="F:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.CK"> | |||||
<summary> | <summary> | ||||
秘钥 | |||||
固定参数CK | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM4Util.Iv"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4Sbox(System.Byte)"> | |||||
<summary> | <summary> | ||||
向量 | |||||
Sm4的S盒取值 | |||||
</summary> | </summary> | ||||
<param name="inch"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM4Util.HexString"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4Lt(System.Int64)"> | |||||
<summary> | <summary> | ||||
明文是否是十六进制 | |||||
线性变换 L | |||||
</summary> | </summary> | ||||
<param name="ka"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM4Util.CryptoMode"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4F(System.Int64,System.Int64,System.Int64,System.Int64,System.Int64)"> | |||||
<summary> | <summary> | ||||
加密模式(默认ECB) | |||||
统一改为ECB模式 | |||||
轮函数 F | |||||
</summary> | </summary> | ||||
<param name="x0"></param> | |||||
<param name="x1"></param> | |||||
<param name="x2"></param> | |||||
<param name="x3"></param> | |||||
<param name="rk"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4Util.EncryptECB(SafeCampus.Core.Utils.SM4Util)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4CalciRk(System.Int64)"> | |||||
<summary> | <summary> | ||||
ECB加密 | |||||
轮密钥rk | |||||
</summary> | </summary> | ||||
<param name="entity"></param> | |||||
<param name="ka"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4Util.EncryptCBC(SafeCampus.Core.Utils.SM4Util)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.SetKey(System.Int64[],System.Byte[])"> | |||||
<summary> | <summary> | ||||
CBC加密 | |||||
加密密钥 | |||||
</summary> | </summary> | ||||
<param name="entity"></param> | |||||
<returns></returns> | |||||
<param name="SK"></param> | |||||
<param name="key"></param> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4Util.Decrypt(SafeCampus.Core.Utils.SM4Util)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4OneRound(System.Int64[],System.Byte[],System.Byte[])"> | |||||
<summary> | <summary> | ||||
解密 | |||||
解密函数 | |||||
</summary> | </summary> | ||||
<param name="entity"></param> | |||||
<param name="sk">轮密钥</param> | |||||
<param name="input">输入分组的密文</param> | |||||
<param name="output">输出的对应的分组明文</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Padding(System.Byte[],System.Int32)"> | |||||
<summary> | |||||
补足 16 进制字符串的 0 字符,返回不带 0x 的16进制字符串 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<param name="mode">1表示加密,0表示解密</param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4Util.DecryptECB(SafeCampus.Core.Utils.SM4Util)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.SetKeyEnc(SafeCampus.Core.Utils.Sm4Context,System.Byte[])"> | |||||
<summary> | <summary> | ||||
ECB解密 | |||||
设置加密的key | |||||
</summary> | </summary> | ||||
<param name="entity"></param> | |||||
<param name="ctx"></param> | |||||
<param name="key"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4SetKeyDec(SafeCampus.Core.Utils.Sm4Context,System.Byte[])"> | |||||
<summary> | |||||
设置解密的key | |||||
</summary> | |||||
<param name="ctx"></param> | |||||
<param name="key"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4CryptEcb(SafeCampus.Core.Utils.Sm4Context,System.Byte[])"> | |||||
<summary> | |||||
ECB | |||||
</summary> | |||||
<param name="ctx"></param> | |||||
<param name="input"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4Util.DecryptCBC(SafeCampus.Core.Utils.SM4Util)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000Q3J5cHRvVXRpbA.Sm4CryptCbc(SafeCampus.Core.Utils.Sm4Context,System.Byte[],System.Byte[])"> | |||||
<summary> | <summary> | ||||
CBC解密 | |||||
CBC | |||||
</summary> | </summary> | ||||
<param name="entity"></param> | |||||
<param name="ctx"></param> | |||||
<param name="iv"></param> | |||||
<param name="input"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.SM4Util.Sm4CryptoEnum"> | |||||
<member name="T:SafeCampus.Core.Utils.Sm4Context"> | |||||
<summary> | <summary> | ||||
加密类型 | |||||
SM4处理中心 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM4Util.Sm4CryptoEnum.ECB"> | |||||
<member name="F:SafeCampus.Core.Utils.Sm4Context.Mode"> | |||||
<summary> | <summary> | ||||
ECB(电码本模式) | |||||
1表示加密,0表示解密 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM4Util.Sm4CryptoEnum.CBC"> | |||||
<member name="F:SafeCampus.Core.Utils.Sm4Context.Key"> | |||||
<summary> | <summary> | ||||
CBC(密码分组链接模式) | |||||
密钥 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Core.Utils.Sm4Context.IsPadding"> | |||||
<summary> | |||||
是否补足16进制字符串 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.SM2CryptoUtil"> | |||||
<member name="T:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA"> | |||||
<summary> | <summary> | ||||
SM2工具类 | SM2工具类 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2CryptoUtil.GetKey"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.GetKey"> | |||||
<summary> | <summary> | ||||
获取公钥私钥 | 获取公钥私钥 | ||||
</summary> | </summary> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2CryptoUtil.Encrypt(System.String,System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.Encrypt(System.String,System.String)"> | |||||
<summary> | <summary> | ||||
加密 | 加密 | ||||
</summary> | </summary> | ||||
@@ -1427,7 +1473,7 @@ | |||||
<param name="sourceData">需要加密的值</param> | <param name="sourceData">需要加密的值</param> | ||||
<returns>加密结果</returns> | <returns>加密结果</returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2CryptoUtil.Encrypt(System.Byte[],System.Byte[])"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.Encrypt(System.Byte[],System.Byte[])"> | |||||
<summary> | <summary> | ||||
加密 | 加密 | ||||
</summary> | </summary> | ||||
@@ -1435,7 +1481,7 @@ | |||||
<param name="data">需要加密的值</param> | <param name="data">需要加密的值</param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2CryptoUtil.Decrypt(System.String,System.String)"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.Decrypt(System.String,System.String)"> | |||||
<summary> | <summary> | ||||
</summary> | </summary> | ||||
@@ -1443,7 +1489,7 @@ | |||||
<param name="encryptedData"></param> | <param name="encryptedData"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM2CryptoUtil.Decrypt(System.Byte[],System.Byte[])"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.Decrypt(System.Byte[],System.Byte[])"> | |||||
<summary> | <summary> | ||||
解密 | 解密 | ||||
</summary> | </summary> | ||||
@@ -1451,172 +1497,126 @@ | |||||
<param name="encryptedData"></param> | <param name="encryptedData"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM2CryptoUtil.SM2Model.PublicKey"> | |||||
<member name="P:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.SM2Model.PublicKey"> | |||||
<summary> | <summary> | ||||
公钥 | 公钥 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Core.Utils.SM2CryptoUtil.SM2Model.PrivateKey"> | |||||
<member name="P:SafeCampus.Core.Utils.U00yQ3J5cHRvVXRpbA.SM2Model.PrivateKey"> | |||||
<summary> | <summary> | ||||
私钥 | 私钥 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.SM4CryptoUtil"> | |||||
<summary> | |||||
SM4工具类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.GetULongByBe(System.Byte[],System.Int32)"> | |||||
<summary> | |||||
加密 非线性τ函数B=τ(A) | |||||
</summary> | |||||
<param name="b"></param> | |||||
<param name="i"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.PutULongToBe(System.Int64,System.Byte[],System.Int32)"> | |||||
<member name="T:SafeCampus.Core.Utils.U000VXRpbA"> | |||||
<summary> | <summary> | ||||
解密 非线性τ函数B=τ(A) | |||||
Sm4算法 | |||||
对标国际DES算法 | |||||
</summary> | </summary> | ||||
<param name="n"></param> | |||||
<param name="b"></param> | |||||
<param name="i"></param> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Rotl(System.Int64,System.Int32)"> | |||||
<member name="P:SafeCampus.Core.Utils.U000VXRpbA.Data"> | |||||
<summary> | <summary> | ||||
循环移位,为32位的x循环左移n位 | |||||
数据 | |||||
</summary> | </summary> | ||||
<param name="x"></param> | |||||
<param name="n"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Swap(System.Int64[],System.Int32)"> | |||||
<member name="P:SafeCampus.Core.Utils.U000VXRpbA.Key"> | |||||
<summary> | <summary> | ||||
将密钥逆序 | |||||
秘钥 | |||||
</summary> | </summary> | ||||
<param name="sk"></param> | |||||
<param name="i"></param> | |||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM4CryptoUtil.SboxTable"> | |||||
<member name="P:SafeCampus.Core.Utils.U000VXRpbA.Iv"> | |||||
<summary> | <summary> | ||||
S盒 | |||||
向量 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM4CryptoUtil.FK"> | |||||
<member name="P:SafeCampus.Core.Utils.U000VXRpbA.HexString"> | |||||
<summary> | <summary> | ||||
系统参数FK | |||||
明文是否是十六进制 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.SM4CryptoUtil.CK"> | |||||
<member name="P:SafeCampus.Core.Utils.U000VXRpbA.CryptoMode"> | |||||
<summary> | <summary> | ||||
固定参数CK | |||||
加密模式(默认ECB) | |||||
统一改为ECB模式 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4Sbox(System.Byte)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000VXRpbA.EncryptECB(SafeCampus.Core.Utils.U000VXRpbA)"> | |||||
<summary> | <summary> | ||||
Sm4的S盒取值 | |||||
ECB加密 | |||||
</summary> | </summary> | ||||
<param name="inch"></param> | |||||
<param name="entity"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4Lt(System.Int64)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000VXRpbA.EncryptCBC(SafeCampus.Core.Utils.U000VXRpbA)"> | |||||
<summary> | <summary> | ||||
线性变换 L | |||||
CBC加密 | |||||
</summary> | </summary> | ||||
<param name="ka"></param> | |||||
<param name="entity"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4F(System.Int64,System.Int64,System.Int64,System.Int64,System.Int64)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000VXRpbA.Decrypt(SafeCampus.Core.Utils.U000VXRpbA)"> | |||||
<summary> | <summary> | ||||
轮函数 F | |||||
解密 | |||||
</summary> | </summary> | ||||
<param name="x0"></param> | |||||
<param name="x1"></param> | |||||
<param name="x2"></param> | |||||
<param name="x3"></param> | |||||
<param name="rk"></param> | |||||
<param name="entity"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4CalciRk(System.Int64)"> | |||||
<member name="M:SafeCampus.Core.Utils.U000VXRpbA.DecryptECB(SafeCampus.Core.Utils.U000VXRpbA)"> | |||||
<summary> | <summary> | ||||
轮密钥rk | |||||
ECB解密 | |||||
</summary> | </summary> | ||||
<param name="ka"></param> | |||||
<param name="entity"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.SetKey(System.Int64[],System.Byte[])"> | |||||
<member name="M:SafeCampus.Core.Utils.U000VXRpbA.DecryptCBC(SafeCampus.Core.Utils.U000VXRpbA)"> | |||||
<summary> | <summary> | ||||
加密密钥 | |||||
</summary> | |||||
<param name="SK"></param> | |||||
<param name="key"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4OneRound(System.Int64[],System.Byte[],System.Byte[])"> | |||||
<summary> | |||||
解密函数 | |||||
</summary> | |||||
<param name="sk">轮密钥</param> | |||||
<param name="input">输入分组的密文</param> | |||||
<param name="output">输出的对应的分组明文</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Padding(System.Byte[],System.Int32)"> | |||||
<summary> | |||||
补足 16 进制字符串的 0 字符,返回不带 0x 的16进制字符串 | |||||
CBC解密 | |||||
</summary> | </summary> | ||||
<param name="input"></param> | |||||
<param name="mode">1表示加密,0表示解密</param> | |||||
<param name="entity"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.SetKeyEnc(SafeCampus.Core.Utils.Sm4Context,System.Byte[])"> | |||||
<member name="T:SafeCampus.Core.Utils.U000VXRpbA.Sm4CryptoEnum"> | |||||
<summary> | <summary> | ||||
设置加密的key | |||||
加密类型 | |||||
</summary> | </summary> | ||||
<param name="ctx"></param> | |||||
<param name="key"></param> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4SetKeyDec(SafeCampus.Core.Utils.Sm4Context,System.Byte[])"> | |||||
<member name="F:SafeCampus.Core.Utils.U000VXRpbA.Sm4CryptoEnum.ECB"> | |||||
<summary> | <summary> | ||||
设置解密的key | |||||
ECB(电码本模式) | |||||
</summary> | </summary> | ||||
<param name="ctx"></param> | |||||
<param name="key"></param> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4CryptEcb(SafeCampus.Core.Utils.Sm4Context,System.Byte[])"> | |||||
<member name="F:SafeCampus.Core.Utils.U000VXRpbA.Sm4CryptoEnum.CBC"> | |||||
<summary> | <summary> | ||||
ECB | |||||
CBC(密码分组链接模式) | |||||
</summary> | </summary> | ||||
<param name="ctx"></param> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="M:SafeCampus.Core.Utils.SM4CryptoUtil.Sm4CryptCbc(SafeCampus.Core.Utils.Sm4Context,System.Byte[],System.Byte[])"> | |||||
<member name="T:SafeCampus.Core.Utils.U00yVXRpbA"> | |||||
<summary> | <summary> | ||||
CBC | |||||
SM2加密解密 | |||||
</summary> | </summary> | ||||
<param name="ctx"></param> | |||||
<param name="iv"></param> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.Sm4Context"> | |||||
<member name="F:SafeCampus.Core.Utils.U00yVXRpbA.PublicKey"> | |||||
<summary> | <summary> | ||||
SM4处理中心 | |||||
公钥 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.Sm4Context.Mode"> | |||||
<member name="F:SafeCampus.Core.Utils.U00yVXRpbA.PrivateKey"> | |||||
<summary> | <summary> | ||||
1表示加密,0表示解密 | |||||
私钥 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.Sm4Context.Key"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yVXRpbA.Encrypt(System.String)"> | |||||
<summary> | <summary> | ||||
密钥 | |||||
公钥加密明文 | |||||
</summary> | </summary> | ||||
<param name="plainText">明文</param> | |||||
<returns>密文</returns> | |||||
</member> | </member> | ||||
<member name="F:SafeCampus.Core.Utils.Sm4Context.IsPadding"> | |||||
<member name="M:SafeCampus.Core.Utils.U00yVXRpbA.Decrypt(System.String)"> | |||||
<summary> | <summary> | ||||
是否补足16进制字符串 | |||||
私钥解密密文 | |||||
</summary> | </summary> | ||||
<param name="cipherText">密文</param> | |||||
<returns>明文</returns> | |||||
</member> | </member> | ||||
<member name="T:SafeCampus.Core.Utils.AvatarUtil"> | <member name="T:SafeCampus.Core.Utils.AvatarUtil"> | ||||
<summary> | <summary> | ||||
@@ -3,7 +3,7 @@ | |||||
/// <summary> | /// <summary> | ||||
/// 加解密功能 | /// 加解密功能 | ||||
/// </summary> | /// </summary> | ||||
public class CryptogramUtil | |||||
public class Q3J5cHRvZ3JhbVV0aWw | |||||
{ | { | ||||
#region SM2 | #region SM2 | ||||
@@ -12,13 +12,13 @@ public class CryptogramUtil | |||||
/// </summary> | /// </summary> | ||||
/// <param name="str">密文</param> | /// <param name="str">密文</param> | ||||
/// <returns>明文</returns> | /// <returns>明文</returns> | ||||
public static string Sm2Decrypt(string str) | |||||
public static string U20yRGVjcnlwdA(string str) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
// 解密 | // 解密 | ||||
if (!string.IsNullOrWhiteSpace(str)) | if (!string.IsNullOrWhiteSpace(str)) | ||||
return SM2Util.Decrypt(str); | |||||
return U00yVXRpbA.Decrypt(str); | |||||
} | } | ||||
catch | catch | ||||
{ | { | ||||
@@ -32,13 +32,13 @@ public class CryptogramUtil | |||||
/// </summary> | /// </summary> | ||||
/// <param name="str">明文</param> | /// <param name="str">明文</param> | ||||
/// <returns>密文</returns> | /// <returns>密文</returns> | ||||
public static string Sm2Encrypt(string str) | |||||
public static string U20yRW5jcnlwdA(string str) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
// 加密 | // 加密 | ||||
if (!string.IsNullOrWhiteSpace(str)) | if (!string.IsNullOrWhiteSpace(str)) | ||||
return SM2Util.Encrypt(str); | |||||
return U00yVXRpbA.Encrypt(str); | |||||
} | } | ||||
catch | catch | ||||
{ | { | ||||
@@ -56,12 +56,12 @@ public class CryptogramUtil | |||||
/// </summary> | /// </summary> | ||||
/// <param name="str">密文</param> | /// <param name="str">密文</param> | ||||
/// <returns>明文</returns> | /// <returns>明文</returns> | ||||
public static string Sm4Decrypt(string str) | |||||
public static string U200RGVjcnlwdA(string str) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
if (!string.IsNullOrWhiteSpace(str))// 解密 | if (!string.IsNullOrWhiteSpace(str))// 解密 | ||||
return SM4Util.Decrypt(new SM4Util { Data = str }); | |||||
return U000VXRpbA.Decrypt(new U000VXRpbA { Data = str }); | |||||
return ""; | return ""; | ||||
} | } | ||||
catch (Exception e) | catch (Exception e) | ||||
@@ -76,12 +76,12 @@ public class CryptogramUtil | |||||
/// </summary> | /// </summary> | ||||
/// <param name="str">明文</param> | /// <param name="str">明文</param> | ||||
/// <returns>密文</returns> | /// <returns>密文</returns> | ||||
public static string Sm4Encrypt(string str) | |||||
public static string U200RW5jcnlwdA(string str) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
if (!string.IsNullOrWhiteSpace(str))// 加密 | if (!string.IsNullOrWhiteSpace(str))// 加密 | ||||
return SM4Util.Encrypt(new SM4Util { Data = str }); | |||||
return U000VXRpbA.Encrypt(new U000VXRpbA { Data = str }); | |||||
return ""; | return ""; | ||||
} | } | ||||
catch (Exception) | catch (Exception) |
@@ -1,19 +1,9 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Core.Utils; | |||||
namespace SafeCampus.Core.Utils; | |||||
/// <summary> | /// <summary> | ||||
/// SM4工具类 | /// SM4工具类 | ||||
/// </summary> | /// </summary> | ||||
public class SM4CryptoUtil | |||||
public class U000Q3J5cHRvVXRpbA | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 加密 非线性τ函数B=τ(A) | /// 加密 非线性τ函数B=τ(A) |
@@ -1,19 +1,9 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Core.Utils; | |||||
namespace SafeCampus.Core.Utils; | |||||
/// <summary> | /// <summary> | ||||
/// SM2工具类 | /// SM2工具类 | ||||
/// </summary> | /// </summary> | ||||
public class SM2CryptoUtil | |||||
public class U00yQ3J5cHRvVXRpbA | |||||
{ | { | ||||
#region 获取公钥私钥 | #region 获取公钥私钥 | ||||
@@ -1,23 +1,13 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Core.Utils; | |||||
namespace SafeCampus.Core.Utils; | |||||
//加密和解密结构相同,只不过,解密密钥是加密密钥的逆序 | //加密和解密结构相同,只不过,解密密钥是加密密钥的逆序 | ||||
/// <summary> | /// <summary> | ||||
/// Sm4算法 | /// Sm4算法 | ||||
/// 对标国际DES算法 | /// 对标国际DES算法 | ||||
/// </summary> | /// </summary> | ||||
public class SM4Util | |||||
public class U000VXRpbA | |||||
{ | { | ||||
public SM4Util() | |||||
public U000VXRpbA() | |||||
{ | { | ||||
Key = "1814546261730461";//密钥长度必须为16字节。 | Key = "1814546261730461";//密钥长度必须为16字节。 | ||||
Iv = "0000000000000000"; | Iv = "0000000000000000"; | ||||
@@ -53,7 +43,7 @@ public class SM4Util | |||||
#region 加密 | #region 加密 | ||||
public static string Encrypt(SM4Util entity) | |||||
public static string Encrypt(U000VXRpbA entity) | |||||
{ | { | ||||
return entity.CryptoMode == Sm4CryptoEnum.CBC ? EncryptCBC(entity) : EncryptECB(entity); | return entity.CryptoMode == Sm4CryptoEnum.CBC ? EncryptCBC(entity) : EncryptECB(entity); | ||||
} | } | ||||
@@ -63,14 +53,14 @@ public class SM4Util | |||||
/// </summary> | /// </summary> | ||||
/// <param name="entity"></param> | /// <param name="entity"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public static string EncryptECB(SM4Util entity) | |||||
public static string EncryptECB(U000VXRpbA entity) | |||||
{ | { | ||||
var ctx = new Sm4Context | var ctx = new Sm4Context | ||||
{ | { | ||||
IsPadding = true | IsPadding = true | ||||
}; | }; | ||||
var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | ||||
var sm4 = new SM4CryptoUtil(); | |||||
var sm4 = new U000Q3J5cHRvVXRpbA(); | |||||
sm4.SetKeyEnc(ctx, keyBytes); | sm4.SetKeyEnc(ctx, keyBytes); | ||||
var encrypted = sm4.Sm4CryptEcb(ctx, Encoding.Default.GetBytes(entity.Data)); | var encrypted = sm4.Sm4CryptEcb(ctx, Encoding.Default.GetBytes(entity.Data)); | ||||
return Encoding.Default.GetString(Hex.Encode(encrypted)); | return Encoding.Default.GetString(Hex.Encode(encrypted)); | ||||
@@ -81,7 +71,7 @@ public class SM4Util | |||||
/// </summary> | /// </summary> | ||||
/// <param name="entity"></param> | /// <param name="entity"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public static string EncryptCBC(SM4Util entity) | |||||
public static string EncryptCBC(U000VXRpbA entity) | |||||
{ | { | ||||
var ctx = new Sm4Context | var ctx = new Sm4Context | ||||
{ | { | ||||
@@ -89,7 +79,7 @@ public class SM4Util | |||||
}; | }; | ||||
var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | ||||
var ivBytes = entity.HexString ? Hex.Decode(entity.Iv) : Encoding.Default.GetBytes(entity.Iv); | var ivBytes = entity.HexString ? Hex.Decode(entity.Iv) : Encoding.Default.GetBytes(entity.Iv); | ||||
var sm4 = new SM4CryptoUtil(); | |||||
var sm4 = new U000Q3J5cHRvVXRpbA(); | |||||
sm4.SetKeyEnc(ctx, keyBytes); | sm4.SetKeyEnc(ctx, keyBytes); | ||||
var encrypted = sm4.Sm4CryptCbc(ctx, ivBytes, Encoding.Default.GetBytes(entity.Data)); | var encrypted = sm4.Sm4CryptCbc(ctx, ivBytes, Encoding.Default.GetBytes(entity.Data)); | ||||
return Convert.ToBase64String(encrypted); | return Convert.ToBase64String(encrypted); | ||||
@@ -104,7 +94,7 @@ public class SM4Util | |||||
/// </summary> | /// </summary> | ||||
/// <param name="entity"></param> | /// <param name="entity"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public static string Decrypt(SM4Util entity) | |||||
public static string Decrypt(U000VXRpbA entity) | |||||
{ | { | ||||
return entity.CryptoMode == Sm4CryptoEnum.CBC ? DecryptCBC(entity) : DecryptECB(entity); | return entity.CryptoMode == Sm4CryptoEnum.CBC ? DecryptCBC(entity) : DecryptECB(entity); | ||||
} | } | ||||
@@ -114,7 +104,7 @@ public class SM4Util | |||||
/// </summary> | /// </summary> | ||||
/// <param name="entity"></param> | /// <param name="entity"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public static string DecryptECB(SM4Util entity) | |||||
public static string DecryptECB(U000VXRpbA entity) | |||||
{ | { | ||||
var ctx = new Sm4Context | var ctx = new Sm4Context | ||||
{ | { | ||||
@@ -122,7 +112,7 @@ public class SM4Util | |||||
Mode = 0 | Mode = 0 | ||||
}; | }; | ||||
var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | ||||
var sm4 = new SM4CryptoUtil(); | |||||
var sm4 = new U000Q3J5cHRvVXRpbA(); | |||||
sm4.Sm4SetKeyDec(ctx, keyBytes); | sm4.Sm4SetKeyDec(ctx, keyBytes); | ||||
var decrypted = sm4.Sm4CryptEcb(ctx, Hex.Decode(entity.Data)); | var decrypted = sm4.Sm4CryptEcb(ctx, Hex.Decode(entity.Data)); | ||||
return Encoding.Default.GetString(decrypted); | return Encoding.Default.GetString(decrypted); | ||||
@@ -133,7 +123,7 @@ public class SM4Util | |||||
/// </summary> | /// </summary> | ||||
/// <param name="entity"></param> | /// <param name="entity"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public static string DecryptCBC(SM4Util entity) | |||||
public static string DecryptCBC(U000VXRpbA entity) | |||||
{ | { | ||||
var ctx = new Sm4Context | var ctx = new Sm4Context | ||||
{ | { | ||||
@@ -142,7 +132,7 @@ public class SM4Util | |||||
}; | }; | ||||
var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | var keyBytes = entity.HexString ? Hex.Decode(entity.Key) : Encoding.Default.GetBytes(entity.Key); | ||||
var ivBytes = entity.HexString ? Hex.Decode(entity.Iv) : Encoding.Default.GetBytes(entity.Iv); | var ivBytes = entity.HexString ? Hex.Decode(entity.Iv) : Encoding.Default.GetBytes(entity.Iv); | ||||
var sm4 = new SM4CryptoUtil(); | |||||
var sm4 = new U000Q3J5cHRvVXRpbA(); | |||||
sm4.Sm4SetKeyDec(ctx, keyBytes); | sm4.Sm4SetKeyDec(ctx, keyBytes); | ||||
var decrypted = sm4.Sm4CryptCbc(ctx, ivBytes, Convert.FromBase64String(entity.Data)); | var decrypted = sm4.Sm4CryptCbc(ctx, ivBytes, Convert.FromBase64String(entity.Data)); | ||||
return Encoding.Default.GetString(decrypted); | return Encoding.Default.GetString(decrypted); |
@@ -1,19 +1,9 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Core.Utils; | |||||
namespace SafeCampus.Core.Utils; | |||||
/// <summary> | /// <summary> | ||||
/// SM2加密解密 | /// SM2加密解密 | ||||
/// </summary> | /// </summary> | ||||
public class SM2Util | |||||
public class U00yVXRpbA | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 公钥 | /// 公钥 | ||||
@@ -32,7 +22,7 @@ public class SM2Util | |||||
/// <returns>密文</returns> | /// <returns>密文</returns> | ||||
public static string Encrypt(string plainText) | public static string Encrypt(string plainText) | ||||
{ | { | ||||
return SM2CryptoUtil.Encrypt(PublicKey, plainText); | |||||
return U00yQ3J5cHRvVXRpbA.Encrypt(PublicKey, plainText); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -43,6 +33,6 @@ public class SM2Util | |||||
public static string Decrypt(string cipherText) | public static string Decrypt(string cipherText) | ||||
{ | { | ||||
if (!cipherText.StartsWith("04")) cipherText = "04" + cipherText;//如果不是04开头加上04 | if (!cipherText.StartsWith("04")) cipherText = "04" + cipherText;//如果不是04开头加上04 | ||||
return SM2CryptoUtil.Decrypt(PrivateKey, cipherText); | |||||
return U00yQ3J5cHRvVXRpbA.Decrypt(PrivateKey, cipherText); | |||||
} | } | ||||
} | } |
@@ -72,7 +72,7 @@ public class AuthService : IAuthService | |||||
{ | { | ||||
await CheckCaptcha(input);//检查验证码 | await CheckCaptcha(input);//检查验证码 | ||||
await CheckWebOpen(input);//检查网站是否开启 | await CheckWebOpen(input);//检查网站是否开启 | ||||
var password = CryptogramUtil.Sm2Decrypt(input.Password);//SM2解密 | |||||
var password = Q3J5cHRvZ3JhbVV0aWw.U20yRGVjcnlwdA(input.Password);//SM2解密 | |||||
//获取多租户配置 | //获取多租户配置 | ||||
var isTenant = await _configService.IsTenant(); | var isTenant = await _configService.IsTenant(); | ||||
//获取登录策略 | //获取登录策略 | ||||
@@ -106,7 +106,7 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService | |||||
var userId = _simpleCacheService.HashGetOne<long>(key, phone); | var userId = _simpleCacheService.HashGetOne<long>(key, phone); | ||||
if (userId == 0) | if (userId == 0) | ||||
{ | { | ||||
var sm4Phone = CryptogramUtil.Sm4Encrypt(phone);//SM4加密一下 | |||||
var sm4Phone = Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(phone);//SM4加密一下 | |||||
//单查获取用户手机号对应的账号 | //单查获取用户手机号对应的账号 | ||||
userId = await Context.Queryable<SysUser>() | userId = await Context.Queryable<SysUser>() | ||||
.Where(it => it.Phone == sm4Phone) | .Where(it => it.Phone == sm4Phone) | ||||
@@ -975,7 +975,7 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService | |||||
sysUsers.ForEach(user => | sysUsers.ForEach(user => | ||||
{ | { | ||||
user.Status = CommonStatusConst.ENABLE;//状态 | user.Status = CommonStatusConst.ENABLE;//状态 | ||||
user.Phone = CryptogramUtil.Sm4Encrypt(user.Phone);//手机号 | |||||
user.Phone = Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(user.Phone);//手机号 | |||||
user.Password = defaultPassword;//默认密码 | user.Password = defaultPassword;//默认密码 | ||||
user.Avatar = AvatarUtil.GetNameImageBase64(user.Name);//默认头像 | user.Avatar = AvatarUtil.GetNameImageBase64(user.Name);//默认头像 | ||||
}); | }); | ||||
@@ -993,7 +993,7 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService | |||||
{ | { | ||||
//获取默认密码 | //获取默认密码 | ||||
var defaultPassword = (await _configService.GetByConfigKey(CateGoryConst.CONFIG_PWD_POLICY, SysConfigConst.PWD_DEFAULT_PASSWORD)).ConfigValue; | var defaultPassword = (await _configService.GetByConfigKey(CateGoryConst.CONFIG_PWD_POLICY, SysConfigConst.PWD_DEFAULT_PASSWORD)).ConfigValue; | ||||
return isSm4 ? CryptogramUtil.Sm4Encrypt(defaultPassword) : defaultPassword;//判断是否需要加密 | |||||
return isSm4 ? Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(defaultPassword) : defaultPassword;//判断是否需要加密 | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -1023,7 +1023,7 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService | |||||
var phoneId = await GetIdByPhone(sysUser.Phone, tenantId); | var phoneId = await GetIdByPhone(sysUser.Phone, tenantId); | ||||
if (phoneId > 0 && sysUser.Id != phoneId)//判断重复 | if (phoneId > 0 && sysUser.Id != phoneId)//判断重复 | ||||
throw Oops.Bah($"存在重复的手机号:{sysUser.Phone}"); | throw Oops.Bah($"存在重复的手机号:{sysUser.Phone}"); | ||||
sysUser.Phone = CryptogramUtil.Sm4Encrypt(sysUser.Phone); | |||||
sysUser.Phone = Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(sysUser.Phone); | |||||
} | } | ||||
//如果邮箱不是空 | //如果邮箱不是空 | ||||
if (!string.IsNullOrEmpty(sysUser.Email)) | if (!string.IsNullOrEmpty(sysUser.Email)) | ||||
@@ -1093,7 +1093,7 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService | |||||
}).Mapper(u => | }).Mapper(u => | ||||
{ | { | ||||
u.Password = null;//密码清空 | u.Password = null;//密码清空 | ||||
u.Phone = CryptogramUtil.Sm4Decrypt(u.Phone);//手机号解密 | |||||
u.Phone = Q3J5cHRvZ3JhbVV0aWw.U200RGVjcnlwdA(u.Phone);//手机号解密 | |||||
}); | }); | ||||
return query; | return query; | ||||
} | } | ||||
@@ -1118,8 +1118,8 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService | |||||
}).FirstAsync(); | }).FirstAsync(); | ||||
if (sysUser != null) | if (sysUser != null) | ||||
{ | { | ||||
sysUser.Password = CryptogramUtil.Sm4Decrypt(sysUser.Password);//解密密码 | |||||
sysUser.Phone = CryptogramUtil.Sm4Decrypt(sysUser.Phone);//解密手机号 | |||||
sysUser.Password = Q3J5cHRvZ3JhbVV0aWw.U200RGVjcnlwdA(sysUser.Password);//解密密码 | |||||
sysUser.Phone = Q3J5cHRvZ3JhbVV0aWw.U200RGVjcnlwdA(sysUser.Phone);//解密手机号 | |||||
sysUser.OrgAndPosIdList.AddRange(sysUser.OrgId, sysUser.PositionId);//添加组织和职位Id | sysUser.OrgAndPosIdList.AddRange(sysUser.OrgId, sysUser.PositionId);//添加组织和职位Id | ||||
if (sysUser.DirectorId != null) | if (sysUser.DirectorId != null) | ||||
{ | { | ||||
@@ -212,7 +212,7 @@ public class UserCenterService : DbRepository<SysUser>, IUserCenterService | |||||
{ | { | ||||
if (!input.Phone.MatchPhoneNumber())//判断是否是手机号格式 | if (!input.Phone.MatchPhoneNumber())//判断是否是手机号格式 | ||||
throw Oops.Bah("手机号码格式错误"); | throw Oops.Bah("手机号码格式错误"); | ||||
input.Phone = CryptogramUtil.Sm4Encrypt(input.Phone); | |||||
input.Phone = Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(input.Phone); | |||||
var any = await IsAnyAsync(it => it.Phone == input.Phone && it.Id != UserManager.UserId);//判断是否有重复的 | var any = await IsAnyAsync(it => it.Phone == input.Phone && it.Id != UserManager.UserId);//判断是否有重复的 | ||||
if (any) | if (any) | ||||
throw Oops.Bah("系统已存在该手机号"); | throw Oops.Bah("系统已存在该手机号"); | ||||
@@ -276,9 +276,9 @@ public class UserCenterService : DbRepository<SysUser>, IUserCenterService | |||||
{ | { | ||||
//获取用户信息 | //获取用户信息 | ||||
var userInfo = await _userService.GetUserById(UserManager.UserId); | var userInfo = await _userService.GetUserById(UserManager.UserId); | ||||
var password = CryptogramUtil.Sm2Decrypt(input.Password);//SM2解密 | |||||
var password = Q3J5cHRvZ3JhbVV0aWw.U20yRGVjcnlwdA(input.Password);//SM2解密 | |||||
if (userInfo.Password != password) throw Oops.Bah("原密码错误"); | if (userInfo.Password != password) throw Oops.Bah("原密码错误"); | ||||
var newPassword = CryptogramUtil.Sm2Decrypt(input.NewPassword);//sm2解密 | |||||
var newPassword = Q3J5cHRvZ3JhbVV0aWw.U20yRGVjcnlwdA(input.NewPassword);//sm2解密 | |||||
var loginPolicy = await _configService.GetConfigsByCategory(CateGoryConst.CONFIG_PWD_POLICY);//获取密码策略 | var loginPolicy = await _configService.GetConfigsByCategory(CateGoryConst.CONFIG_PWD_POLICY);//获取密码策略 | ||||
var containNumber = loginPolicy.First(it => it.ConfigKey == SysConfigConst.PWD_CONTAIN_NUM).ConfigValue.ToBoolean();//是否包含数字 | var containNumber = loginPolicy.First(it => it.ConfigKey == SysConfigConst.PWD_CONTAIN_NUM).ConfigValue.ToBoolean();//是否包含数字 | ||||
var containLower = loginPolicy.First(it => it.ConfigKey == SysConfigConst.PWD_CONTAIN_LOWER).ConfigValue.ToBoolean();//是否包含小写 | var containLower = loginPolicy.First(it => it.ConfigKey == SysConfigConst.PWD_CONTAIN_LOWER).ConfigValue.ToBoolean();//是否包含小写 | ||||
@@ -298,7 +298,7 @@ public class UserCenterService : DbRepository<SysUser>, IUserCenterService | |||||
// var similarity = PwdUtil.Similarity(password, newPassword); | // var similarity = PwdUtil.Similarity(password, newPassword); | ||||
// if (similarity > 80) | // if (similarity > 80) | ||||
// throw Oops.Bah($"新密码请勿与旧密码过于相似"); | // throw Oops.Bah($"新密码请勿与旧密码过于相似"); | ||||
newPassword = CryptogramUtil.Sm4Encrypt(newPassword);//SM4加密 | |||||
newPassword = Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(newPassword);//SM4加密 | |||||
userInfo.Password = newPassword; | userInfo.Password = newPassword; | ||||
await UpdateSetColumnsTrueAsync(it => new SysUser() { Password = newPassword }, it => it.Id == userInfo.Id);//更新密码 | await UpdateSetColumnsTrueAsync(it => new SysUser() { Password = newPassword }, it => it.Id == userInfo.Id);//更新密码 | ||||
_userService.DeleteUserFromRedis(UserManager.UserId);//redis删除用户数据 | _userService.DeleteUserFromRedis(UserManager.UserId);//redis删除用户数据 | ||||
@@ -32,7 +32,7 @@ public class ActivateAuthController : BaseController | |||||
string diskId = await _machineUtil.GetDiskId(); | string diskId = await _machineUtil.GetDiskId(); | ||||
string macAddress = await _machineUtil.GetMacAddress(); | string macAddress = await _machineUtil.GetMacAddress(); | ||||
var hardwareId = $"{cpuId}${diskId}${macAddress}"; // 可以用其他硬件信息替代 | var hardwareId = $"{cpuId}${diskId}${macAddress}"; // 可以用其他硬件信息替代 | ||||
var machineCode = CryptogramUtil.Sm2Encrypt(CryptogramUtil.Sm4Encrypt(hardwareId)); | |||||
var machineCode = Q3J5cHRvZ3JhbVV0aWw.U20yRW5jcnlwdA(Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(hardwareId)); | |||||
return machineCode; | return machineCode; | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -42,7 +42,7 @@ public class ActivateAuthController : BaseController | |||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<dynamic> Activation([FromBody]string activationCode) | public async Task<dynamic> Activation([FromBody]string activationCode) | ||||
{ | { | ||||
var yuanwen =CryptogramUtil.Sm2Decrypt(activationCode); | |||||
var yuanwen =Q3J5cHRvZ3JhbVV0aWw.U20yRGVjcnlwdA(activationCode); | |||||
var chaifen = yuanwen.Split('$'); | var chaifen = yuanwen.Split('$'); | ||||
if (chaifen.Length!=4) | if (chaifen.Length!=4) | ||||
{ | { | ||||
@@ -60,7 +60,7 @@ public class ActivateAuthController : BaseController | |||||
var filePath = Path.Combine(App.HostEnvironment.ContentRootPath, "activation.config"); | var filePath = Path.Combine(App.HostEnvironment.ContentRootPath, "activation.config"); | ||||
await using StreamWriter writer = new StreamWriter(filePath); | await using StreamWriter writer = new StreamWriter(filePath); | ||||
// 写入文本 | // 写入文本 | ||||
await writer.WriteLineAsync(CryptogramUtil.Sm4Encrypt(activationCode)); | |||||
await writer.WriteLineAsync(Q3J5cHRvZ3JhbVV0aWw.U200RW5jcnlwdA(activationCode)); | |||||
return true; | return true; | ||||
} | } | ||||
} | } |
@@ -35,8 +35,8 @@ public class SystemAuthorizeMiddleware | |||||
if (File.Exists(filePath)) | if (File.Exists(filePath)) | ||||
{ | { | ||||
var activationCode = await File.ReadAllTextAsync(filePath); | var activationCode = await File.ReadAllTextAsync(filePath); | ||||
var yuanwen1 = CryptogramUtil.Sm4Decrypt(activationCode); | |||||
var yuanwen2 = CryptogramUtil.Sm2Decrypt(yuanwen1); | |||||
var yuanwen1 = Q3J5cHRvZ3JhbVV0aWw.U200RGVjcnlwdA(activationCode); | |||||
var yuanwen2 = Q3J5cHRvZ3JhbVV0aWw.U20yRGVjcnlwdA(yuanwen1); | |||||
if (!string.IsNullOrEmpty(yuanwen2)) | if (!string.IsNullOrEmpty(yuanwen2)) | ||||
{ | { | ||||
var chaifen = yuanwen2.Split('$'); | var chaifen = yuanwen2.Split('$'); | ||||
@@ -1,6 +1,6 @@ | |||||
{ | { | ||||
"AppSettings": { | "AppSettings": { | ||||
"InjectSpecificationDocument": false, //是否开启swagger | |||||
"InjectSpecificationDocument": true, //是否开启swagger | |||||
"Urls": "http://0.0.0.0:5566" //监听地址 | "Urls": "http://0.0.0.0:5566" //监听地址 | ||||
}, | }, | ||||
"AllowedHosts": "*", | "AllowedHosts": "*", | ||||