des加密获取的乱码是相对一致的  所以只需要获取到加密乱码在api后台解密就好

1、创建一个控制台用来获取加密后的乱码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Runtime.Intrinsics.Arm;
  6. using System.Security.Cryptography;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using Aes = System.Security.Cryptography.Aes;
  10.  
  11. namespace desMssql
  12. {
  13. public class DesMS
  14. {
  15. //默认密钥向量
  16. private static byte[] Keys = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
  17. /// <summary>
  18. /// DES加密字符串
  19. /// </summary>
  20. /// <param name="encryptString">待加密的字符串</param>
  21. /// <param name="encryptKey">加密密钥,要求为16位</param>
  22. /// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
  23. public static string DESEncrypt(string encryptString, string encryptKey = "Key123Ace#321Key")
  24. {
  25. try
  26. {
  27. byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 16));
  28. byte[] rgbIV = Keys;
  29. byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
  30. var DCSP = Aes.Create();
  31. MemoryStream mStream = new MemoryStream();
  32. CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
  33. cStream.Write(inputByteArray, 0, inputByteArray.Length);
  34. cStream.FlushFinalBlock();
  35. return Convert.ToBase64String(mStream.ToArray());
  36. }
  37. catch (Exception ex)
  38. {
  39. return ex.Message + encryptString;
  40. }
  41.  
  42. }
  43. }
  44.  
  45. }

2、输出乱码 替换到api的相对连接数据库位置

  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. var sql = DesMS.DESEncrypt("Data Source=10.31.60.6;Initial Catalog=HONGSHI_SQLSERVER_DATA;User ID=sa;Pwd=123");
  6. Console.WriteLine(sql);Console.ReadKey();
  7. }
  8. }
  9. }

3、创建一个解密类 替换乱码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Security.Cryptography;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8.  
  9. namespace HONGSHI_Commando_Repository.Helpers
  10. {
  11. public static class DesMssql
  12. {
  13. //默认密钥向量
  14. private static byte[] Keys = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
  15.  
  16. /// <summary>
  17. /// DES解密字符串
  18. /// </summary>
  19. /// <param name="MSSQL">待解密的字符串</param>
  20. /// <param name="decryptKey">解密密钥,要求为16位,和加密密钥相同</param>
  21. /// <returns>解密成功返回解密后的字符串,失败返源串</returns>
  22. public static string DESDecrypt(string MSSQL, string decryptKey = "Key123Ace#321Key")
  23. {
  24. try
  25. {
  26. byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey.Substring(0, 16));
  27. byte[] rgbIV = Keys;
  28. byte[] inputByteArray = Convert.FromBase64String(MSSQL);
  29. var DCSP = Aes.Create();
  30. MemoryStream mStream = new MemoryStream();
  31. CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
  32. Byte[] inputByteArrays = new byte[inputByteArray.Length];
  33. cStream.Write(inputByteArray, 0, inputByteArray.Length);
  34. cStream.FlushFinalBlock();
  35. return Encoding.UTF8.GetString(mStream.ToArray());
  36. }
  37. catch (Exception ex)
  38. {
  39. return ex.Message + MSSQL;
  40. }
  41.  
  42. }
  43. }
  44. }

替换

结束!!

关于.net core连接数据库字符串加密查询 (DES加密)的更多相关文章

  1. 信息安全-加密:DES 加密

    ylbtech-信息安全-加密:DES 加密 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资 ...

  2. PHP对称加密-AES加密、DES加密

    对称加密 对称加密算法是指,数据发信方将明文(原始数据)和密钥一起经过加密处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若要解读原文,则需要使用加密密钥及相关算法的逆算法对密文进行解密,使 ...

  3. (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

    我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...

  4. C#MD5加密和DES加密解密算法

    public partial class stringTest : System.Web.UI.Page     {         protected void Page_Load(object s ...

  5. md5加密、Des加密对称可逆加密、RSA非对称可逆加密、https单边验证、银行U盾双边认证

    1.md5不可逆的加密方式,加密成一个32位的字符串.算法是公开的,任何语言的加密结果都是一样的.总有可能是重复的.     用途:             (1)防止明文存储:可以用作密码加密    ...

  6. 一、对称加密(DES加密)

    一.DES简介DES是一种对称加密(Data Encryption Standard)算法.于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法.一般密码长度为8个字节,其中5 ...

  7. js 加密 crypto-js des加密

    js 加密 crypto-js    https://www.npmjs.com/package/crypto-js   DES  举例:   js 引入:   <script src=&quo ...

  8. DES加密解密与AES加密解密

    随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了之后渐渐就陌生了.所以在这里写一些日后可能会用到的加密与解密. 一.AES加密算法和DES加 ...

  9. android 对称加密,非对称加密 android 常见的加密

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android 常见的加密 ======== 不可逆加密:md5,sha1 可逆的加密中 ...

  10. .net core 使用DES加密字符串

    找了很久,都是用的第三方的插件处理,但是第三方的插件不兼容.net core中内置包. 接下来分享自己的方法: 1.创建一个加密方法类:SecurityHelper. public class Sec ...

随机推荐

  1. 定时任务,LocalDateTime,在代码中调用其他项目的接口url

    1.定时任务 1.在类上添加注解 @Component @Configuration @EnableScheduling 2.在类中方法上添加注解 @Scheduled(cron = "0 ...

  2. 【Redis场景4】单机环境下秒杀问题

    单机环境下的秒杀问题 全局唯一ID 为什么要使用全局唯一ID: 当用户抢购时,就会生成订单并保存到订单表中,而订单表如果使用数据库自增ID就存在一些问题: 受单表数据量的限制 id的规律性太明显 场景 ...

  3. myatbis的一个好的封装

    package com.pj.project4sp; import org.springframework.beans.factory.annotation.Autowired; import org ...

  4. 虚拟机配置代理(虚拟机nat)

    桥接 ​ 第一步:打开clash allow lan ​ 第二步:找到宿主机在局域网中的IP地址 ​ 第三步:配置虚拟机代理 NAT ​ 同上 注意 ​ 一.宿主机防火墙要配置好(直接关闭会也有效果, ...

  5. Linux 安装 WIFI驱动 rtl8188gu

    https://www.wyr.me/post/623 https://www.leonlu.cc/hobby/note006-rtl8188gu-linux/ 亲测:debian11,manjaro ...

  6. day07-SpringMVC底层机制简单实现-03

    SpringMVC底层机制简单实现-03 https://github.com/liyuelian/springmvc-demo.git 7.任务6-完成控制器方法获取参数-@RequestParam ...

  7. Web前端--HTML+Canvas+Js实现3D魔方小游戏

    一.案列效果 二.案例思路 1.先将平面上的6个DIV拼接在一起.形成一张类似于3d立方体图形展开的平面图. 2.我们需要将每一个面旋转到相应的位置上,每一个面的旋转轴都是不一样的.上下,左右,分别对 ...

  8. 【已解决】SQL2012启动时报错:cannot find one or more cpmponents

    下载Microsoft Visual Studio 2010 Shell(Isolate)-CHS安装即可 下载地址:Visual Studio 独立 Shell 下载及安装:点击同意许可,选择vs2 ...

  9. JZOJ 2937. 【NOIP2012模拟8.9】监听还原

    题面 分析 注意读题 然后显然字符串哈希 \(Code\) #include<cstdio> #include<cstring> using namespace std; ty ...

  10. 题解 P4163 [SCOI2007]排列

    强烈谴责只有 125MB 的行为,然后我没删调试是个什么 SB... 闲话少说,切入正题-- 首先看到取余和数字是可以排列的,我们自然而然的想到了数位 dp,但是很显然这题不是的数位 dp 通常解决的 ...