`

DES/ECB加解密算法

 
阅读更多

java版和C#版,可互相加解密。

其中PasswordUtil.java和PasswordUtil.cs可互相加解密。

DesUtil.java和DesUtil.cs可互相加解密。

 

一、以下两种加密方法相同

方法一:

Security.addProvider(new com.sun.crypto.provider.SunJCE());
byte[] arrB = new byte[8];
// 将原始字节数组转换为8位
for (int i = 0; i < key.getBytes().length && i < arrB.length; i++) {
    arrB[i] = key.getBytes()[i];
}
// 生成密钥
Key desKey = new javax.crypto.spec.SecretKeySpec(arrB, "DES");
Cipher encryptCipher = Cipher.getInstance("DES");
encryptCipher.init(Cipher.ENCRYPT_MODE, desKey);
byte[] resultByte = encryptCipher.doFinal(message.getBytes());

二、方法二:

            Cipher cipher = Cipher.getInstance("DES");

            byte[] arrBTmp = key.getBytes();

            byte[] arrB = new byte[8];

 

            // 将原始字节数组转换为8位

            for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) {

                arrB[i] = arrBTmp[i];

            }

            DESKeySpec desKeySpec = new DESKeySpec(arrB);

            SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");

            SecretKey secretKey = keyFactory.generateSecret(desKeySpec);

            cipher.init(Cipher.ENCRYPT_MODE, secretKey);

            byte[] encodeByte = cipher.doFinal(message.getBytes());

分享到:
评论

相关推荐

    使用3DES-ECB 加解密算法对JSON数据进行加密

    密钥的安全存储和分发是关键,确保只有授权的第三方系统能获取并使用正确的密钥进行加解密。 5. **安全性和效率**:虽然3DES比单一的DES更安全,但它的计算复杂度较高,加密和解密速度相对较慢。对于大规模或实时的...

    AES/ECB/PKCS5Padding 算法

    AES/ECB/PKCS5Padding 算法,用于数据加密,实现方式为Java。AES加密算法是密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准

    Qt DES_ECB加密解密类

    总结来说,Qt DES_ECB加密解密类是为了解决Qt环境中数据的安全传输和存储,虽然DESECB模式的安全性有限,但在某些特定场景下仍有一定的实用性。同时,理解和掌握加密算法的原理和应用,对于开发安全的应用至关重要。

    des 及3des ecb pkcs5padding 加密 c++

    本文将深入探讨DES(Data Encryption Standard)和3DES(Triple DES)加密算法,以及它们在ECB(Electronic Codebook)模式下的应用,并结合C++编程语言来实现。同时,我们也会提及PKCS5Padding,这是一种常用的填充...

    DES_3DES加解密算法C语言实现

    用C语言实现了DES、三重DES(3DES)的加解密,支持ECB、CBC模式。 ECB支持64位密钥; CBC支持128和192位密钥

    Delphi10.2 DES/CBC/PKCS5Padding/UTF-8

    标题 "Delphi10.2 DES/CBC/PKCS5Padding/UTF-8" 指的是使用 Delphi 10.2 开发的一个程序,该程序实现了数据加密标准(DES)算法,采用循环块密码(CBC)模式,并且使用PKCS5填充方式来处理边界情况,同时解决了在...

    对接java AES/ECB/PKCS7Padding加密

    在IT行业中,尤其是在...总之,PHP与Java之间的AES/ECB/PKCS7Padding加密对接是一个需要细心处理的过程,涉及到加密算法、填充方式以及编码转换等多个环节。通过合理的代码实现,可以确保数据在两个平台间的安全传输。

    Delphi XE2+标准AES加解密算法(AES/EBC,CBC/PKCS5Padding-base64)

    是标准的AES算法,支持在线AES加解密网站互解。 本源码从CSDN一位前辈的源码基础上做了更改,增加支持加密返回BASE64,更加完善。在此感谢原作者: http://download.csdn.net/download/qiaohaidong/9477264 需要注意...

    DES算法加密解密C++源码及程序(完整的工程文件)

    DES算法加密解密C++源码及程序(完整的工程文件),内容绝对完整,VC++6.0完美打开,控制台应用程序,而且可以计算加密解密时间的哦

    DES的ECB加密解密汇总.zip

    标题中的"DES的ECB加密解密汇总"指的是数据加密标准(Data Encryption Standard,简称DES)的电子密码本模式(Electronic Codebook,简称ECB)的加密与解密技术的综合整理。DES是一种古老的对称加密算法,而ECB是DES...

    DES/3DES算法C语言实现

    2、DES-ECB加密/解密、DES-CBC加密/解密 3、3DES-ECB加密/解密、3DES-CBC加密/解密 4、内含测试程序,在Linux环境下进入目录后make即可编译,已经在ubuntu16.04环境下编译测试OK; 5、3DES,即TDES,三重数据加密...

    DES算法工具(DES_3DES_MAC加密解密器)

    一:加解密 DES(单倍长) 3DES(双倍长) 3DES(三倍长) 二:MAC运算 ANSI-X9.9-MAC PBOC-DES-MAC PBOC-3DES-MAC . . .

    C++和JAVA,AES/ECB/PKCS5Padding 互通

    1. **AES(Advanced Encryption Standard)**:是一种用于数据加密的对称密钥算法,由NIST(美国国家标准与技术研究所)在2001年发布,取代了之前的DES(数据加密标准)。AES支持多种块大小(128位)和密钥长度(128...

    信息安全密码学DES/3DES,ECB,CBC,pycharm开发环境,使用python,有图形化界面

    (2)能用DES加解密算法对字符串文本进行加解密,记录运行时间,对文件进行加解密(3)设计并实现ECB、CBC工作模式的加解密算法;(4)设计并实现3DES加解密算法;(5)提供图形化用户界面,并提交核心程序代码和执行结果。...

    DES对称分组密码系统的Java实现

    {"DES/ECB/PKCS5Padding","DES/ECB/NoPadding","DES"}; public DES01(String key) { strkey=key; } public void keyGenerating() throws Exception { byte[] bkey=strkey.getBytes(); KeySpec ks = new ...

    DES-3DES加解密算法(c语言)

    基于STM32的软件加解密算法,包括DES,3DES的ECB,CBC模式。但是验证时CBC模式的初始向量为0时,数据的加解密正确,但是初始向量不为0时,则加解数据有错误。 注意:经测试DES,3DES的CBC模式初始向量不为0时,加...

    DES加密解析,ECB,CBC

    ### DES加密解析、ECB与CBC模式详解 #### 一、概述 数据加密标准(Data Encryption Standard,简称DES)是一种广泛使用的对称密钥加密算法。DES最初由IBM开发,并在1977年被美国国家标准局(现为NIST)采纳为联邦...

    c++和c#同时实现DES加密解密算法

    在本文中,我们将深入探讨DES加密解密算法,并展示如何在C++和C#这两种编程语言中实现这一算法。 首先,理解DES的工作原理至关重要。DES算法主要由以下四个步骤组成:初始置换(IP)、密钥扩展、16轮Feistel网络和...

    visual c++ VC实现3DES加解密 加密解密.zip

    本项目是使用Visual C++实现3DES加解密功能的一个实例,下面将详细介绍3DES算法及其在Visual C++中的实现。 3DES,全称为三重DES,是对DES(Data Encryption Standard)的加强版。DES是一种块密码,采用64位的数据...

Global site tag (gtag.js) - Google Analytics