3DES加密解密「建议收藏」

3DES加密解密「建议收藏」C#3DES加密解密,JAVA、PHP可用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

C#3DES加密解密,JAVA、PHP可用

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

namespace TT.Utilities.Encrypt
{
    public class DES3
    {
        /// <summary>
        /// utf-8编码
        /// 加密模式ECB,填充类型PKCS7
        /// </summary>
        /// <param name="str_content"></param>
        /// <param name="str_keys">24位key</param>
        /// <returns></returns>
        public static string DES3_Encrypt(string str_content, string str_keys)
        #region
        {
            Encoding encoding = Encoding.UTF8;

            byte[] content = encoding.GetBytes(str_content);
            byte[] keys = encoding.GetBytes(str_keys);

            TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();

            //指定密匙长度,默认为192位
            tdsc.KeySize = 128;
            //使用指定的key和IV(加密向量)
            tdsc.Key = keys;
            //tdsc.IV = IV;
            //加密模式,偏移
            tdsc.Mode = CipherMode.ECB;
            tdsc.Padding = PaddingMode.PKCS7;
            //进行加密转换运算
            ICryptoTransform ct = tdsc.CreateEncryptor();
            //8很关键,加密结果是8字节数组
            byte[] results = ct.TransformFinalBlock(content, 0, content.Length);

            string base64String = Convert.ToBase64String(results);
            return base64String;
        }
        #endregion

        /// <summary>
        /// utf-8编码
        /// 加密模式ECB,填充类型PKCS7
        /// </summary>
        /// <param name="base64_content"></param>
        /// <param name="str_keys">24位key</param>
        /// <returns></returns>
        public static string DES3_Decrypt(string base64_content, string str_keys)
        #region
        {
            Encoding encoding = Encoding.UTF8;

            byte[] content = Convert.FromBase64String(base64_content);
            byte[] keys = encoding.GetBytes(str_keys);

            TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();

            //指定密匙长度,默认为192位
            tdsc.KeySize = 128;
            //使用指定的key和IV(加密向量)
            tdsc.Key = keys;
            //tdsc.IV = IV;
            //加密模式,偏移
            tdsc.Mode = CipherMode.ECB;
            tdsc.Padding = PaddingMode.PKCS7;
            //进行加密转换运算
            ICryptoTransform ct = tdsc.CreateDecryptor();
            //8很关键,加密结果是8字节数组
            byte[] results = ct.TransformFinalBlock(content, 0, content.Length);

            string oriString = encoding.GetString(results);
            return oriString;
        }
        #endregion
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167591.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 初识Windows Mobile 6.0「建议收藏」

    初识Windows Mobile 6.0「建议收藏」第一次玩WindowsMobile6.0,移植了下RMC程序。^_^

    2022年7月4日
    20
  • HTTP.SYS 详解

    HTTP.SYS 详解http.sys 是一个位于Win2003和WinXPSP2中的操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。温馨提示:如果用户不慎删除了该驱动文件,不用担心,该驱动会在下次系统启动时重建。是一个删不掉的系统核心组件!实用程序结束该驱动,该驱动也会马上重新创建(只有粉碎文件才不能马上重建,但粉碎后,下次启动会重建)。微软在Windows

    2022年7月25日
    14
  • elasticsearch集群搭建_Linux如何关闭kafka集群

    elasticsearch集群搭建_Linux如何关闭kafka集群安装包自己自行准备,或者用我百度网盘的安装包,ElasticSearchLogstashKibanaFileBeat:**链接:**https://pan.baidu.com/s/1_Iv2R8pmYaHkoaOk_m8OuQ提取码:5ezt复制这段内容:后打开百度网盘手机App,操作更方便哦创建普通用户ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等。创建一个es专门的用户(必须)使

    2022年10月13日
    0
  • 作为一个死忠粉,我的 IntelliJ IDEA 一直都是这样来设置的,效果很棒!

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:judasn https://github.com/judasn/IntelliJ-IDEA-Tutorial…

    2021年6月25日
    81
  • matlab语法 axis on,matlabaxis

    matlab语法 axis on,matlabaxis编程语言中文网今天精心准备的是《matlabaxis》,下面是详解!Matlab里axis这个函数怎么用,举个例子!axis函数可以用于操作普通的坐标属性(轴的缩放和外观)。比如:axis([xminxmaxyminymax]):可以设置当前坐标轴x轴和y轴的限制范围axis([xminxmaxyminymaxzminzmaxcmincmax])可以设置x,y…

    2022年6月13日
    40
  • 用命令行进入目录_在命令行如何进入子目录

    用命令行进入目录_在命令行如何进入子目录CD命令是更改目录命令如果要进入D盘不用这个命令直接输入D:回车即可要是你非要使用CD命令那要加参数/D你图中输入的CD D:系统只是认为你想在系统中记忆一下D盘所以还是返回原先目录例:D盘下有一个目录叫AD下面还有一个目录叫AE 我想在你图中的位置直接进入AE目录命令如下CD/DD:\AD\AE一定要加参数(/D)如果不加参数只写CDD:\AD\AE系统还是…

    2022年10月15日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号