`
lydawen
  • 浏览: 471832 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 3DES 支持 CBC/PKCS7Padding

    博客分类:
  • java
阅读更多

很抱歉之前下载此代码包的朋友,该代码发现存在严重问题!需要在所有加/解密方法上加同步锁synchronized,否则在高并发情况下会有异常。(2010-3-27附件已更新,bug已修正)

 

大家都知道PKCS7Padding是C#默认的3DES填充方式,而java默认则与c#不一样,具体请搜索相关知识。

 

代码部分有参考网上实现,本着共享精神不敢私藏(卖弄啊)。希望对有需要的朋友有参考作用。

源代码默认算法及填充方式: DESede/CBC/PKCS7Padding,可动态修改 key,向量,(在应用在生产环境中,为了提高请求/响应双方安全性,key和向量会随时要求更改,总不至于修改就重启应用吧……)填充方式,详请见源码注释。

 

附件包含一个支持PKCS7Padding的开源包(jdk1.6版本,官网有其它版本下载),一个log4j包,两个java源文件(一个3DES加/解密,一个支撑工具类)

 

代码出来仓促,如生产环境使用请一定仔细检查代码

 

分享到:
评论

相关推荐

    对接java AES/ECB/PKCS7Padding加密

    这个过程完全符合Java的AES/ECB/PKCS7Padding加密方式,可以与Java代码无缝对接。 在实际应用中,为了提高安全性,建议使用更复杂的加密模式如CBC(Cipher Block Chaining)或CFB(Cipher Feedback),并且可以使用...

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

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

    delphi与java 加密解密 DES/CBC/PKCS5Padding

    最近做一个接口,与JAVA的关于DES/CBC/PKCS5Padding 互相解密。在网上找了很多资料,摸索了3天才摸索出来。同样的明文,用JAVA加密的密文死活都跟用DELPHI加密的不相等,有时候少于8个字符的就正常,多了8个字符的就...

    AES/CBC/PKCS5Padding/ 加解密

    在描述中提到的“AES/CBC/PKCS5Padding”,分别代表了AES算法的不同部分: - AES:AES是高级加密标准,由NIST(美国国家标准与技术研究所)在2001年标准化,取代了之前的DES加密标准。它有三种不同尺寸的密钥,分别...

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

    实现了AES/ECB/PKCS5Padding、AES/CBC/PKCS5Padding 密钥长度128/192/256bit,密钥0填充。是标准的AES算法,支持在线AES加解密网站互解。 本源码从CSDN一位前辈的源码基础上做了更改,增加支持加密返回BASE64,更加...

    DES:CBC/PKCS5Padding

    DES加密,采用CBC模式,PKCS5Padding填充

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

    2. **相同的加密库**:C++和Java都需要使用支持AES/ECB/PKCS5Padding的库。C++中可以使用OpenSSL,Java则内置了javax.crypto包。 3. **编码和字节顺序**:在处理字节序列时,需要注意endianness(字节顺序)和字符...

    Java解决AES加密解密 ( AES/ECB/PKCS5Padding )

    JAVA解决AES ECB 模式下加密解密;附加国内三方AES加密网站---http://tool.chacuo.net/cryptaes;如有用解决您工作问题,烦请点个赞

    des 及3des ecb pkcs5padding 加密 c++

    总的来说,理解和实现DES及3DES的ECB模式加密,以及PKCS5Padding在C++中的应用,需要对加密算法原理、C++编程以及OpenSSL库有一定的掌握。这样的技能在信息安全、网络通信和数据保护等领域都有广泛的应用。通过实际...

    AES128 CBC PKCS7Padding ,自动填充,已经成功与平台握手,通过验证

    uint16_t aes_encrypt(uint8_t *iv,uint8_t *Key,uint8_t *input,uint16_t length)/*加密时...uint16_t PKCS7Padding(uint8_t *p, uint16_t len)/*加密明文如果不是16byte整倍数,则根据PKCS7标准填充至16byte整倍数*/

    java微信小程序解密AES/CBC/PKCS7Padding

    微信小程序解密  建议使用1.6及以上的环境  使用maven下载jar包   <!... <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.55</version> ...import org.bouncycastle.jce....

    PHP实现的DES加密解密封装类完整实例

    * 可与java的DES(DESede/CBC/PKCS5Padding)加密方式兼容 * */ class CryptDes { var $key; var $iv; function CryptDes($key, $iv){ $this->key = $key; $this->iv = $iv; } function encrypt($input){ $...

    AES 示例(CBC算法模式 PKCS5填充模式)

    在本示例中,我们将深入理解AES-CBC-PKCS5加密和解密的原理,并通过Delphi和Java的源码来阐述其实现。 **AES加密算法** AES是一种基于替换和置换的分组密码,它使用128位的块大小和128、192或256位的密钥长度。它的...

    Delphi7AES加密解密与JAVA互转(默认128位+ECB+PKCS5Padding+先BASE64再HEX)

    本文将深入探讨如何在Delphi 7环境中使用AES(Advanced Encryption Standard)加密技术,并且与Java平台进行互操作。AES是一种广泛采用的块加密标准,通常用于保护敏感信息,如密码、个人数据等。在这里,我们特别...

    AES_CBC_PKCS5加解密 MD5加密

    AES(Advanced Encryption Standard)即高级加密标准,是一种广泛应用的块密码算法,而CBC(Cipher Block Chaining)模式和PKCS5(Public Key Cryptography Standards #5)填充模式是AES加密中常用的模式和填充方式...

    PHP版DES加解密类

    PHP版DES加解密类 可与java的DES(DESede/CBC/PKCS5Padding)加密方式兼容

    与Java兼容的3DES CBC PKCS5Padding 的Delphi单元

    一个 DESede(3DES) CBC PKCS5Padding的单元,与java c# 计算结果相同。利用本单元思路可以扩展到其他模式。

    java AES,DES,3DES,RAS,DSA 加密算法实现

    在Java中,可以使用`Cipher.getInstance("DESede/CBC/PKCS5Padding")`进行3DES加密。 4. **RSA( Rivest-Shamir-Adleman)** RSA是一种非对称加密算法,基于大整数因子分解的困难性。它有两个密钥:公钥用于加密,...

Global site tag (gtag.js) - Google Analytics