C#加密方式

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class AESHelper{/// <summary>///  AES 加密/// </summary>/// <param name="str">明文(待加密)</param>/// <param name="key">密文</param>/// <returns></returns>public string AesEncrypt(string str, string key){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);RijndaelManaged rm = new RijndaelManaged{Key = Encoding.UTF8.GetBytes(key),Mode = CipherMode.ECB,Padding = PaddingMode.PKCS7};ICryptoTransform cTransform = rm.CreateEncryptor();Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Convert.ToBase64String(resultArray);}/// <summary>///  AES 解密/// </summary>/// <param name="str">明文(待解密)</param>/// <param name="key">密文</param>/// <returns></returns>public string AesDecrypt(string str, string key){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray = Convert.FromBase64String(str);RijndaelManaged rm = new RijndaelManaged{Key = Encoding.UTF8.GetBytes(key),Mode = CipherMode.ECB,Padding = PaddingMode.PKCS7};ICryptoTransform cTransform = rm.CreateDecryptor();Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Encoding.UTF8.GetString(resultArray);}}}

 AES加密算法

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class DESHelper{//密钥public static byte[] _KEY  = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };//向量public static byte[] _IV = new byte[] { 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01 };   /// <summary>/// DES加密操作/// </summary>/// <param name="normalTxt"></param>/// <returns></returns>public string DesEncrypt(string normalTxt){//byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(_KEY);//byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(_IV);DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();int i = cryptoProvider.KeySize;MemoryStream ms = new MemoryStream();CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(_KEY, _IV), CryptoStreamMode.Write);StreamWriter sw = new StreamWriter(cst);sw.Write(normalTxt);sw.Flush();cst.FlushFinalBlock();sw.Flush();string strRet = Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);return strRet;}/// <summary>/// DES解密操作/// </summary>/// <param name="securityTxt">加密字符串</param>/// <returns></returns>public string DesDecrypt(string securityTxt)//解密  {//byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(_KEY);//byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(_IV);byte[] byEnc;try{securityTxt.Replace("_%_", "/");securityTxt.Replace("-%-", "#");byEnc = Convert.FromBase64String(securityTxt);}catch{return null;}DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();MemoryStream ms = new MemoryStream(byEnc);CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(_KEY, _IV), CryptoStreamMode.Read);StreamReader sr = new StreamReader(cst);return sr.ReadToEnd();}}}

DES加密算法

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class RSAHelper{private const int RsaKeySize = 2048;private const string publicKeyFileName = "RSA.Pub";private const string privateKeyFileName = "RSA.Private";/// <summary>///在给定路径中生成XML格式的私钥和公钥。/// </summary>public void GenerateKeys(string path){using (var rsa = new RSACryptoServiceProvider(RsaKeySize)){try{// 获取私钥和公钥。var publicKey = rsa.ToXmlString(false);var privateKey = rsa.ToXmlString(true);// 保存到磁盘File.WriteAllText(Path.Combine(path, publicKeyFileName), publicKey);File.WriteAllText(Path.Combine(path, privateKeyFileName), privateKey);//Console.WriteLine(string.Format("生成的RSA密钥的路径: {0}\\ [{1}, {2}]", path, publicKeyFileName, privateKeyFileName));}finally{rsa.PersistKeyInCsp = false;}}}/// <summary>/// 用给定路径的RSA公钥文件加密纯文本。/// </summary>/// <param name="plainText">要加密的文本</param>/// <param name="pathToPublicKey">用于加密的公钥路径.</param>/// <returns>表示加密数据的64位编码字符串.</returns>public string Encrypt(string plainText, string pathToPublicKey){using (var rsa = new RSACryptoServiceProvider(RsaKeySize)){try{//加载公钥var publicXmlKey = File.ReadAllText(pathToPublicKey);rsa.FromXmlString(publicXmlKey);var bytesToEncrypt = System.Text.Encoding.Unicode.GetBytes(plainText);var bytesEncrypted = rsa.Encrypt(bytesToEncrypt, false);return Convert.ToBase64String(bytesEncrypted);}finally{rsa.PersistKeyInCsp = false;}}}/// <summary>/// Decrypts encrypted text given a RSA private key file path.给定路径的RSA私钥文件解密 加密文本/// </summary>/// <param name="encryptedText">加密的密文</param>/// <param name="pathToPrivateKey">用于加密的私钥路径.</param>/// <returns>未加密数据的字符串</returns>public string Decrypt(string encryptedText, string pathToPrivateKey){using (var rsa = new RSACryptoServiceProvider(RsaKeySize)){try{var privateXmlKey = File.ReadAllText(pathToPrivateKey);rsa.FromXmlString(privateXmlKey);var bytesEncrypted = Convert.FromBase64String(encryptedText);var bytesPlainText = rsa.Decrypt(bytesEncrypted, false);return System.Text.Encoding.Unicode.GetString(bytesPlainText);}finally{rsa.PersistKeyInCsp = false;}}}}}

RSA加密算法

using System;using System.Collections.Generic;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class SHAHelper{public string SHAmd5Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);//求Byte[]数组  var Md5 = new MD5CryptoServiceProvider();var encryptbytes = Md5.ComputeHash(bytes);//求哈希值  return Base64To16(encryptbytes);//将Byte[]数组转为净荷明文(其实就是字符串)  }public string SHA1Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA = new SHA1CryptoServiceProvider();var encryptbytes = SHA.ComputeHash(bytes);return Base64To16(encryptbytes);}public string SHA256Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA256 = new SHA256CryptoServiceProvider();var encryptbytes = SHA256.ComputeHash(bytes);return Base64To16(encryptbytes);}public string SHA384Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA384 = new SHA384CryptoServiceProvider();var encryptbytes = SHA384.ComputeHash(bytes);return Base64To16(encryptbytes);}public string SHA512Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA512 = new SHA512CryptoServiceProvider();var encryptbytes = SHA512.ComputeHash(bytes);return Base64To16(encryptbytes);}private string Base64To16(byte[] buffer){string md_str = string.Empty;for (int i = 0; i < buffer.Length; i++){md_str += buffer[i].ToString("x2");}return md_str;}}}

SHA加密算法

-----------------以上内容大部分摘自网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/67047.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【12】WLC配置internal DHCP服务器

1.概述 WLC无线控制器包含内部DHCP(internal DHCP)服务器。该功能通常用于尚未拥有DHCP服务器的分支机构中。 无线网络通常包含最多10个AP或更少的AP,并且AP在与控制器的同一IP子网上。内部DHCP服务器为无线客户端、直连AP和从AP中继的DHCP请求提供了DHCP地址。 2.内部DHC…

vue2中trhee.js加载模型展示天空盒子

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/13b9193d6738428791fc1ff112e03627.png 加载模型的时候需要把模型放在public文件下面 创建场景 this.scene new THREE.Scene()创建相机 this.camera new THREE.PerspectiveCamera(45,this.viewNode.clientWidth / t…

汽车免拆诊断案例 | 2007 款日产天籁车起步加速时偶尔抖动

故障现象  一辆2007款日产天籁车&#xff0c;搭载VQ23发动机&#xff08;气缸编号如图1所示&#xff0c;点火顺序为1-2-3-4-5-6&#xff09;&#xff0c;累计行驶里程约为21万km。车主反映&#xff0c;该车起步加速时偶尔抖动&#xff0c;且行驶中加速无力。 图1 VQ23发动机…

对神经网络基础的理解

目录 一、《python神经网络编程》 二、一些粗浅的认识 1&#xff09; 神经网络也是一种拟合 2&#xff09;神经网络不是真的大脑 3&#xff09;网络构建需要反复迭代 三、数字图像识别的实现思路 1&#xff09;建立一个神经网络类 2&#xff09;权重更新的具体实现 3&am…

新项目传到git步骤

1.首先创建远程仓库,创建一个空白项目,即可生成一个克隆URL,可以是http也可以是SSH,copy下这个地址 2.找到项目的本机目录,进入根目录,打开git bash here命令行 3.初始化: git init 4.关联远程地址: git remote add origin "远程仓库的URL" 5.查看关联 git re…

PAT甲级-1024 Palindromic Number

题目 题目大意 一个非回文数&#xff0c;加上它的翻转数所得的和&#xff0c;进行k次&#xff0c;有可能会得到一个回文数。给出一个数n&#xff0c;限制相加次数为k次&#xff0c;如果小于k次就得到回文数&#xff0c;那么输出该回文数和相加的次数&#xff1b;如果进行k次还…

appium自动化环境搭建

一、appium介绍 appium介绍 appium是一个开源工具、支持跨平台、用于自动化ios、安卓手机和windows桌面平台上面的原生、移动web和混合应用&#xff0c;支持多种编程语言(python&#xff0c;java&#xff0c;Ruby&#xff0c;Javascript、PHP等) 原生应用和混合应用&#xf…

C#高级:常用的扩展方法大全

1.String public static class StringExtensions {/// <summary>/// 字符串转List&#xff08;中逗 英逗分隔&#xff09;/// </summary>public static List<string> SplitCommaToList(this string data){if (string.IsNullOrEmpty(data)){return new List&…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.1 从零搭建NumPy环境:安装指南与初体验

1. 从零搭建NumPy环境&#xff1a;安装指南与初体验 NumPy核心能力图解&#xff08;架构图&#xff09; NumPy 是 Python 中用于科学计算的核心库&#xff0c;它提供了高效的多维数组对象以及用于处理这些数组的各种操作。NumPy 的核心能力可以概括为以下几个方面&#xff1a…

【SpringBoot教程】Spring Boot + MySQL + HikariCP 连接池整合教程

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 在前面一篇文章中毛毛张介绍了SpringBoot中数据源与数据库连接池相关概念&#xff0c;今天毛毛张要分享的是关于SpringBoot整合HicariCP连接池相关知识点以及底层源码…

Java进阶(一)

目录 一.Java注解 什么是注解&#xff1f; 内置注解 元注解 二.对象克隆 什么是对象克隆? 为什么用到对象克隆 三.浅克隆深克隆 一.Java注解 什么是注解&#xff1f; java中注解(Annotation)又称java标注&#xff0c;是一种特殊的注释。 可以添加在包&#xff0c;类&…

【PyCharm】将包含多个参数的 shell 脚本配置到执行文件来调试 Python 程序

要配置 PyCharm 以使用包含多个参数的 shell 脚本&#xff08;如 run.sh&#xff09;来调试 Python 程序&#xff0c;您可以按照以下步骤操作&#xff1a; 创建一个新的运行/调试配置&#xff1a; 在 PyCharm 中&#xff0c;点击“运行”菜单旁边的齿轮图标&#xff0c;选择“…

即梦(Dreamina)技术浅析(二):后端AI服务

1. 文本处理(Text Processing) 1.1 功能概述 文本处理模块的主要任务是将用户输入的文字提示词转换为机器可以理解的向量表示。这一过程包括分词、词嵌入和语义编码,旨在捕捉文本的语义信息,为后续的图像和视频生成提供准确的指导。 1.2 关键技术 1.分词(Tokenization…

蓝桥杯之c++入门(一)【第一个c++程序】

目录 前言一、第⼀个C程序1.1 基础程序1.2 main函数1.3 字符串1.4 头文件1.5 cin 和 cout 初识1.6 名字空间1.7 注释 二、四道简单习题&#xff08;点击跳转链接&#xff09;练习1&#xff1a;Hello,World!练习2&#xff1a;打印飞机练习3&#xff1a;第⼆个整数练习4&#xff…

【C++初阶】第11课—vector

文章目录 1. 认识vector2. vector的遍历3. vector的构造4. vector常用的接口5. vector的容量6. vector的元素访问7. vector的修改8. vector<vector\<int\>>的使用9. vector的使用10. 模拟实现vector11. 迭代器失效11.1 insert插入数据内部迭代器失效11.2 insert插入…

【AIGC学习笔记】扣子平台——精选有趣应用,探索无限可能

背景介绍&#xff1a; 由于近期业务发展的需求&#xff0c;我开始接触并深入了解了扣子平台的相关知识&#xff0c;并且通过官方教程自学了简易PE工作流搭建的技巧。恰逢周会需要准备与工作相关的分享主题&#xff0c;而我作为一个扣子平台的初学者&#xff0c;也想探索一下这…

mysql 学习6 DML语句,对数据库中的表进行 增 删 改 操作

添加数据 我们对 testdatabase 数据中 的 qqemp 这张表进行 增加数据&#xff0c;在这张表 下 打开 命令行 query console 在 软件中就是打开命令行的意思 可以先执行 desc qqemp; 查看一下当前表的结构。 插入一条数据 到qqemp 表&#xff0c;插入时要每个字段都有值 insert…

Java Web-Request与Response

在 Java Web 开发中&#xff0c;Request 和 Response 是两个非常重要的对象&#xff0c;用于在客户端和服务器之间进行请求和响应的处理&#xff0c;以下是详细介绍&#xff1a; Request&#xff08;请求对象&#xff09; Request继承体系 在 Java Web 开发中&#xff0c;通…

李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕

终端输入nvidia-smi查看cuda版本 我的是12.5&#xff0c;在网上没有找到12.5的torch&#xff0c;就安装12.1的。torch&#xff0c;torchvision&#xff0c;torchaudio版本以及python版本要对应 参考&#xff1a;https://blog.csdn.net/FengHanI/article/details/135116114 创…

论文阅读(十六):利用线性链条件随机场模型检测阵列比较基因组杂交数据的拷贝数变异

1.论文链接&#xff1a;Detection of Copy Number Variations from Array Comparative Genomic Hybridization Data Using Linear-chain Conditional Random Field Models 摘要&#xff1a; 拷贝数变异&#xff08;CNV&#xff09;约占人类基因组的12%。除了CNVs在癌症发展中的…