加密解密函数

Vivado ILA调试全攻略:从HDL实例化到Block Design的5个实战技巧 本文全面解析了Vivado集成逻辑分析仪(ILA)的五种核心调试方法,涵盖从HDL代码实例化到Block Design集成的实战技巧。详细对比了不同方法的优缺点与适用场景,并重点介绍了如何利用Debug Hub高效管理多时钟域复杂调试,旨在帮助FPGA开发者精准定位问题,显著提升板级调试效率。 阅读详情

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace VISS.DataOperator
{
    class DES_
    {
        private static  DES mydes=new DESCryptoServiceProvider();
        public static string Key="jdzjj";
        public static string IV="728#$$%^TyguyshdsufhsfwofnhKJHJKHIYhfiusf98*(^%$^&&(*&()$##@%%$RHGJJHHJ";
        /// <summary>
        /// 对称加密类的构造函数
        /// </summary>
        //public DES_(string key)
        //{
        //    mydes = new DESCryptoServiceProvider();
        //    Key = key;
        //    IV="728#$$%^TyguyshdsufhsfwofnhKJHJKHIYhfiusf98*(^%$^&&(*&()$##@%%$RHGJJHHJ";
        //}
        /// <summary>
        /// 对称加密类的构造函数
        /// </summary>
        //public DES_(string key, string iv)
        //{
        //    mydes = new DESCryptoServiceProvider();
        //    Key = key;
        //    IV = iv;
        //}
        /// <summary>
        /// 获得密钥
        /// </summary>
        /// <returns>密钥</returns>
        private static byte[] GetLegalKey()
        {
            string sTemp = Key;
            mydes.GenerateKey();
            byte[] bytTemp = mydes.Key;
            int KeyLength = bytTemp.Length;
            if (sTemp.Length > KeyLength)
                sTemp = sTemp.Substring(0, KeyLength);
            else if (sTemp.Length < KeyLength)
                sTemp = sTemp.PadRight(KeyLength, ' ');
            return ASCIIEncoding.ASCII.GetBytes(sTemp);
        }
        /// <summary>
        /// 获得初始向量IV
        /// </summary>
        /// <returns>初试向量IV</returns>
        private static  byte[] GetLegalIV()
        {
            string sTemp = IV;
            mydes.GenerateIV();
            byte[] bytTemp = mydes.IV;
            int IVLength = bytTemp.Length;
            if (sTemp.Length > IVLength)
                sTemp = sTemp.Substring(0, IVLength);
            else if (sTemp.Length < IVLength)
                sTemp = sTemp.PadRight(IVLength, ' ');
            return ASCIIEncoding.ASCII.GetBytes(sTemp);
        }
        /// <summary>
        /// 加密方法
        /// </summary>
        /// <param name="Source">待加密的串</param>
        /// <returns>经过加密的串</returns>
        public static string Encrypt(string Source)
        {
            try
            {
                byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source);
                MemoryStream ms = new MemoryStream();
                mydes.Key = GetLegalKey();
                mydes.IV = GetLegalIV();
                ICryptoTransform encrypto = mydes.CreateEncryptor();
                CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
                cs.Write(bytIn, 0, bytIn.Length);
                cs.FlushFinalBlock();
                ms.Close();
                byte[] bytOut = ms.ToArray();
                return Convert.ToBase64String(bytOut);
            }
            catch (Exception ex)
            {
                throw new Exception("在文件加密的时候出现错误!错误提示: /n" + ex.Message);
            }
        }
        /// <summary>
        /// 解密方法
        /// </summary>
        /// <param name="Source">待解密的串</param>
        /// <returns>经过解密的串</returns>
        public static  string Decrypt(string Source)
        {
            try
            {
                byte[] bytIn = Convert.FromBase64String(Source);
                MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);
                mydes.Key = GetLegalKey();
                mydes.IV = GetLegalIV();
                ICryptoTransform encrypto = mydes.CreateDecryptor();
                CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
                StreamReader sr = new StreamReader(cs);
                return sr.ReadToEnd();
            }
            catch (Exception ex)
            {
                throw new Exception("在文件解密的时候出现错误!错误提示: /n" + ex.Message);
            }
        }
        /// <summary>
        /// 加密方法byte[] to byte[]
        /// </summary>
        /// <param name="Source">待加密的byte数组</param>
        /// <returns>经过加密的byte数组</returns>
        public static byte[] Encrypt(byte[] Source)
        {
            try
            {
                byte[] bytIn = Source;
                MemoryStream ms = new MemoryStream();
                mydes.Key = GetLegalKey();
                mydes.IV = GetLegalIV();
                ICryptoTransform encrypto = mydes.CreateEncryptor();
                CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
                cs.Write(bytIn, 0, bytIn.Length);
                cs.FlushFinalBlock();
                ms.Close();
                byte[] bytOut = ms.ToArray();
                return bytOut;
            }
            catch (Exception ex)
            {
                throw new Exception("在文件加密的时候出现错误!错误提示: /n" + ex.Message);
            }
        }
        /// <summary>
        /// 解密方法byte[] to byte[]
        /// </summary>
        /// <param name="Source">待解密的byte数组</param>
        /// <returns>经过解密的byte数组</returns>
        public static byte[] Decrypt(byte[] Source)
        {
            try
            {
                byte[] bytIn = Source;
                MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);
                mydes.Key = GetLegalKey();
                mydes.IV = GetLegalIV();
                ICryptoTransform encrypto = mydes.CreateDecryptor();
                CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
                StreamReader sr = new StreamReader(cs);
                return UTF8Encoding.UTF8.GetBytes(sr.ReadToEnd());
            }
            catch (Exception ex)
            {
                throw new Exception("在文件解密的时候出现错误!错误提示: /n" + ex.Message);
            }
        }


        /// <summary>
        /// 加密方法File to File
        /// </summary>
        /// <param name="inFileName">待加密文件的路径</param>
        /// <param name="outFileName">待加密后文件的输出路径</param>
      
        public  static void Encrypt(string inFileName, string outFileName)
        {
            try
            {

                FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);
                FileStream fout = new FileStream(outFileName, FileMode.OpenOrCreate, FileAccess.Write);
                fout.SetLength(0);

                mydes.Key = GetLegalKey();
                mydes.IV = GetLegalIV();

                byte[] bin = new byte[100];
                long rdlen = 0;             
                long totlen = fin.Length;  
                int len;                    

                ICryptoTransform encrypto = mydes.CreateEncryptor();
                CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);
                while (rdlen < totlen)
                {
                    len = fin.Read(bin, 0, 100);
                    cs.Write(bin, 0, len);
                    rdlen = rdlen + len;
                }
                cs.Close();
                fout.Close();
                fin.Close();   

            }
            catch (Exception ex)
            {
                throw new Exception("在文件加密的时候出现错误!错误提示: /n" + ex.Message);
            }
        }
        /// <summary>
        /// 解密方法File to File
        /// </summary>
        /// <param name="inFileName">待解密文件的路径</param>
        /// <param name="outFileName">待解密后文件的输出路径</param>
        public  static void Decrypt(string inFileName, string outFileName)
        {
            try
            {
                FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);
                FileStream fout = new FileStream(outFileName, FileMode.OpenOrCreate, FileAccess.Write);
                fout.SetLength(0);

                byte[] bin = new byte[100];
                long rdlen = 0;           
                long totlen = fin.Length; 
                int len;                 
                mydes.Key = GetLegalKey();
                mydes.IV = GetLegalIV();
                ICryptoTransform encrypto = mydes.CreateDecryptor();
                CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);
                while (rdlen < totlen)
                {
                    len = fin.Read(bin, 0, 100);
                    cs.Write(bin, 0, len);
                    rdlen = rdlen + len;
                }
                cs.Close();
                fout.Close();
                fin.Close();   

            }
            catch (Exception ex)
            {
                throw new Exception("在文件解密的时候出现错误!错误提示: /n" + ex.Message);
            }
        }

    }
    }

 

使用 Python 实现基于 AGA8 GERG - 2008 方程计算掺氢天然气压缩因子的示例代码 AGA8 GERG - 2008 方程是用于计算天然气混合物热力学性质的一种方法,下面是一个使用 Python 实现基于 AGA8 GERG - 2008 方程计算掺氢天然气压缩因子的示例代码。需要注意的是,AGA8 GERG - 2008 方程非常复杂,完整实现需要大量的系数和详细的计算步骤。这里我们简化了部分过程,使用CoolProp库来完成计算,因为CoolProp已经实现了 GERG - 2008 方程。 阅读详情

相关推荐

springcloud教程 -- 1.快速搭建入门级demo,看这一篇就够了

废话不多讲,跟紧我,开启你的SpringCloud初体验 首先回顾微服务的基本组成: [图片 here] 生产者:提供服务 消费者:消费服务 服务注册/发现中心:服务注册,发现,监控 所以,首先明白springcloud微服务的架构基础:生产者(client),消费者(client),服务注册/发现中心(server)

叶巨岩的博客 8万+

java异常处理

/2.throws 关键字后面后者很多异常的名字[myMethod1() throws ArithmeticException, NullPointerException{],//throw关键字后面跟的是异常对象[throw new exception_class("error message");//4.throws关键字在什么异常的时候可以跟多个,用逗号隔开;而throws关键字每次只能抛出一个异常;//3.throws 关键字出现在方法签名上,而throw关键字出现在方法体里;

ruiguang21的博客 387

OPA(运放)与MOS管组成的恒流源电路

电路图 这是一种由运放组成的恒流源电路。 原理分析: 1. OPA OPA (集成运算放大器)具有开源增益高,输入阻抗大,输出阻抗小的特点。 2. MOS管工作原理 我们知道三极管是利用 Ib 的电流控制 IC 的电流,属于电流控制电流器件。 而MOS则是利用Ugs的电压去控制电流 Id 的,所以说 MOS 管是电压控制电流的器件。 对于N沟道增强型的MOS管,当Ugs>Ugs(th)时,MOS就会开始导通,如果在D极和S极之间加上一定的电压,就会有电流Id产生。 在一定的Uds下,D极电流Id的

暖暖_的_纠结的博客 3万+

java:AES、MD5等java加解密

转载自:https://blog.youkuaiyun.com/hong_myth/article/details/105309623 1、新建EncryptEnums枚举,用于定义组件提供的加解密种类 package com.hua.common.tools.encrypt; import lombok.Getter; /** @Deacription TODO @Author huazi @D...

weixin_46700547的博客 235

【超简单】一文入门在Ubuntu系统使用GitHub

Github是基于git的代码仓库,对于开发项目的科研者或者工程师,代码仓库都是不可多得的版本控制与多端编程工具,今天这篇文章带你轻松Github入门,简单的项目本文的操作足矣。

a13337649640的博客 5236

Motoman机器人离线编程——Motocom32开发简介

欢迎关注Jungle的Motoman机器人离线编程专栏系列文章: Motoman机器人离线编程——Motocom32开发简介 Motoman机器人离线编程——Visio Studio环境配置 Motoman机器人离线编程——Motocom32库函数的使用与封装 Motoman机器人离线编程——Motocom32参考文献及注意事项 Motoman机器人离线编程——MotocomES介绍 ...

冯Jungle的个人博客 8713

SpringMvc自定义参数解析与返回值处理

SpringMvc自定义参数解析与返回值处理 近日在做项目的时候,需要解析客户端传来的经过AES加密处理的实体信息,同时也需要向客户端返回经过AES加密的实体信息,在项目初期,都是在Controller方法中去调用某个工具类进行decode、encode操作比较繁琐,于是去寻求解决办法,在翻阅了SpringMvc解析参数的源码后,仿照@RequestBody的进行以下实现。本文基于Spri...

ja.rome 4328

《Zephyr OS 入门与实战》第15章:LoRaWAN 集成

【代码】《Zephyr OS 入门与实战》第15章:LoRaWAN 集成。

2301_79143213的博客 606

C#数据Encrypt加密Encrypt解密的算法使用

C#数据Encrypt加密Encrypt解密的算法使用,如下图所示的加密和解密的方式 该框架还为在System.Security.Cryptography.Xml中创建和验证基于xml的签名以及在System.Security.Cryptography.X509Certificates中使用数字证书的类型提供了更专门的支持 1、Windows Data Protection ...

LongtengGensSupreme博客 3181

Matlab仿真:均匀面阵方向图、均匀线阵方向图、均匀圆阵方向图

其中,阵列方向图是评价阵列性能的重要参数之一。均匀面阵由若干个相同的阵元构成,阵元间等距排列,阵元的方向图形状为一个圆盘。均匀线阵由若干个相同的阵元构成,阵元间等距排列,阵元的方向图形状为一个矩形。本文将采用Matlab进行仿真,分别实现均匀面阵方向图、均匀线阵方向图和均匀圆阵方向图,并对三种阵列进行比较分析。通过以上代码仿真,我们可以对均匀面阵、均匀线阵和均匀圆阵进行方向图的绘制,进一步分析不同阵列在天线性能方面的差异。Matlab仿真:均匀面阵方向图、均匀线阵方向图、均匀圆阵方向图。

2301_79326857的博客 3436

Allegro输出光绘文件规范

添加钻孔表的具体步骤为:1.通过屏幕右边的Visibility选项的Views列表,将Drill层打开2.将Visibility选项中的PIN和Via选项都选中,见下图所示: 参数设好之后关闭NC Drill/Parameters窗口,输出数控机床钻孔文件的命令菜单为:Manufacture=>NC=>NC Drill…,打开的窗口如下: 输出数控机床钻孔文件的具体步骤为: 上图是光绘输出的层控制窗口,还有一个窗口是输出参数的控制窗口,我们通过点击上图的第二个列表项General Parameters来

axingxiansen的博客 2808

各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)

各种加密解密函数(URL加密解密、sha1加密解密、des加密解密) 普通hash函数如md5、sha1、base64等都是不可逆函数。虽然我们利用PHP可以利用这些函数写出可逆函数来。但是跨语言时这类可逆函数非常难搞定。所以这时尽量使用AES DES RC4 Rabbit TripleDes这些方法。 包含超时的加密解密函数[php] view plaincopyprint?在CODE上查看代码片

lj093的博客 1478

基于DynamicHead的YOLOv8四头版本改进:面向复杂场景的多目标检测优化【YOLOv8】

YOLOv8的检测头是通过不同尺度的特征层输出检测结果。这些检测头通常包括三个:用于大物体、中等物体和小物体的检测。然而,这种单一结构可能会在复杂场景下失去针对性和灵活性,特别是当多个目标之间差异较大时。为了进一步提升模型在特定目标上的检测性能,DynamicHead的引入为我们提供了一个多检测头的优化方案。本文提出了一种基于DynamicHead的四头版本YOLOv8改进方案,以解决复杂场景下多目标检测的挑战。通过引入四个独立检测头,分别针对不同目标特征进行优化,实现了更灵活的检测结构。

博客 1718

PHP对字符串加密解密的函数

加密解密在一个系统中的应用是非常常见的需求,PHP做的网站中,也会经常用到一些加密解密的时候。下面介绍一个比较好用的加密解密函数,收藏下,以后会用得到。 <?php $id=132; $token=encrypt($id,'E','nowamagic'); ...

chongju8810的博客 378

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

PHP加密解密常用函数集合

使用crypt()函数时,需要注意密码的安全性,避免使用过于简单的密码或共享密钥进行加密。1. 密码函数:在PHP中,用于加密和解密密码的函数主要有crypt()和password_hash()。其中,crypt()函数主要用于密码的简单哈希,适用于较短的密码。password_hash()函数提供了更为安全、灵活的加密方式,适用于存储较长或复杂密码的情况。2. 文件操作函数:用于文件加密和解密的函数主要包括file_get_contents()、fopen()、fread()、fwrite()等。

searchboy2025的博客 222

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PHP常用加密解密函数

define('UC_KEY', 'abc123456');//整合程序的通讯密钥 function authcode($string,$operation='DECODE',$key='',$expiry=0) {       $ckey_length = 4;        $key = md5($key ? $key : UC_KEY);        $keya

Carter的菜园子 3725

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

封装好的加密解密函数(URL加密解密、sha1加密解密、des加密解密)

包含超时的加密解密函数 /** * 加密 * @param string $string 要加密或解密的字符串 * @param string $operation 加密 '' 解密 DECODE * @param string $key 密钥,加密解密时保持一致 * @param int $expiry 有效时长,

小白级别的博客 1228

php加密解密函数,PHP加密解密的函数

分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。加密代码如下:/**功能:对字符串进行加密处理*参数一:需要加密的内容*参数二:密钥*/function passport_encrypt($str,$key){ //加密函数srand((double)microtime() * 1000000);$encrypt_key=md5(rand(0, 32000));$ctr=0;$...

weixin_34632164的博客 172

php 加密解密函数 密匙,带密匙的php加密解密函数示例

带密匙的php加密解密函数示例发布于 2014-12-18 18:18:46 | 112 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。...

weixin_39612220的博客 153

三个超好用的PHP加密解密函数

三个超好用的PHP加密解密函数,貌似是discuz里的…使用这些加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧。将它们打包成一个文件就叫fun.php吧 复制代码 代码如下:&lt;?php function passport_encrypt($txt, $key) { srand((do...

u013251184的博客 585

php加密函数的应用例子,PHP中加密解密函数与DES加密解密实例

本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考。具体如下:例子,php加密解密的例子加密函数:/**功能:对字符串进行加密处理*参数一:需要加密的内容*参数二:密钥*/function passport_encrypt($str,$key){ //加密函数srand((double)microtime() * 1000000);$encrypt_key=md5(ra...

weixin_39743695的博客 117

php中加密解密函数,php中拥有的加密解密函数的案例解析

本篇文章给大家带来的内容是关于php中拥有的加密解密函数的案例解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。php自带的加密函数不可逆的加密函数为:md5()、crypt()md5() 用来计算 MD5 哈稀。语法为:string md5(string str);crypt()将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。欲比对字符串,将已...

weixin_39525307的博客 128

经典加密解密函数

&lt;?php /** * 加密解密函数 * @param string $string 明文 或 密文 * @param string $operation DECODE 解密 | ENCODE 加密 * @param string $key 密匙 * @param int $expiry 密文有效期 */ function ...

weixin_34111790的博客 243

一个异或加密解密函数

网上有很多这种加密解密函数,都差不多,整理两个,以后方便使用。 const {常量} XorKey: array[0..7] of Byte = ($B2, $11, $AB, $35, $63, $6D, $48, {1}9); //字符串加密用,可以自己改 //两种差不多,使用重载。 function EncStrX(ASource: pansichar): string; overlo

kevinzhaoyp 2051

php常用加密解密,php实现的三个常用加密解密功能函数介绍

今天小编跟大家分享一下php实现的三个常用加密解密功能函数介绍,感兴趣的朋友跟小编一起来了解一下吧!算法一://加密函数function lock_url($txt,$key='www.jb51.net'){$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";$nh = rand(0,64);$c...

weixin_30868807的博客 396

PHP的加密解密字符串函数

程序中经常使用的PHP加密解密字符串函数 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

jinyeweiyang的专栏 580
上一篇: 批量插入数据到数据库SQL Server2000
下一篇: VC实现滚动条的详解
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值