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)
上一篇 2022年8月2日 上午9:46
下一篇 2022年8月2日 上午10:00


相关推荐

  • 图像读取的Image.open()和cv2.imread()的区别

    图像读取的Image.open()和cv2.imread()的区别文章目录 1 导入库 2 图像读取 3 读入图片类型 4 通道 5 显示方法 6 相互转换 Image open 和 ci2 imread 都是用来读取的图像 但在使用过程中存在一些差别 具体 可以从以下几个角度进行分析 1 导入库导入的包不同 img cv2 imread path 这是 opencv 中的处理图片的函数 使用时需 importcv2img Image open path 这是 PIL 中的一个处理图片的函数 使用时需 fromPILimpor opencv py

    2026年3月17日
    1
  • 计算机网络吞吐量计算

    计算机网络吞吐量计算计算机网络最大吞吐量如何求 TOC 这需要涉及到 3 个物理量 第一 信道带宽第二 往返传播时延第三 发送窗口 或者说发送文件大小之后就可以用公式求出 最大吞吐量 发送文件 往返时延 信道带宽欢迎使用 Markdown 编辑器你好 这是你第一次使用 Markdown 编辑器所展示的欢迎页 如果你想学习如何使用 Markdown 编辑器 可以仔细阅读这篇文章 了解一下 Markdown 的基本语法知识 新的改变我们对 Markdown 编辑器进行了一些功能拓展与语法支持 除了标准的 Markdown 编辑器功

    2026年3月26日
    3
  • AI龙虾爆火 多地下场苏州倡议理性养虾

    AI龙虾爆火 多地下场苏州倡议理性养虾

    2026年3月13日
    2
  • mysql的root密码更改_navicat忘记root密码

    mysql的root密码更改_navicat忘记root密码方法1:用SETPASSWORD命令MySQL-urootmysql>SETPASSWORDFOR’root’@’localhost’=PASSWORD(‘newpass’);方法2:用mysqladminmysqladmin-urootpassword”newpass”如果root已经设置过密码,采用如下方法mysqladmin-urootpasswordoldpass”newpass”方法3:用UPDATE直接编辑user

    2022年8月13日
    12
  • Java 八大基本数据类型

    Java 八大基本数据类型1.bit就是位,也叫比特位,是计算机表示数据最小的单位2.byte就是字节3.1byte=8bit,00011100,一般用两个16进制来显示,所以我们经常看到1个字节显示为1c4.1byte就是1Bbyte[]bs={(byte)0xff,0x0F,0x1F,0x2F,0x3F,0x4F,0x5F,0x6F};for(inti=0;i&lt;bs.le…

    2022年7月8日
    22
  • 用Tagxedo制作文字云

    用Tagxedo制作文字云前两天发现了一个制作文字云的工具 Tagxedo 功能强大 可以对文字云的输入内容 形状 主题 字体等各种设置来达到想要的效果 而且支持中文 下面以一个例子来展示一下如何利用 tagxedo 制作文字云吧 1 输入网址 http www tagxedo com 注意 此网站需要代理访问 会看到如下的页面 nbsp 2 可以在右边浅紫色的区域对要制作的文字云先进行一些简单设置 我们在这里直

    2026年3月20日
    2

发表回复

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

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