社区
图形处理/算法
帖子详情
谁知道3des中pkcs5填充方式怎么弄?和pkcs7填充有什么不同?
zero1977
2004-08-04 11:59:22
谁知道3des中pkcs5填充方式怎么弄?和pkcs7填充有什么不同?
...全文
820
4
打赏
收藏
谁知道3des中pkcs5填充方式怎么弄?和pkcs7填充有什么不同?
谁知道3des中pkcs5填充方式怎么弄?和pkcs7填充有什么不同?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
名牌大灰狼
2004-08-26
打赏
举报
回复
import java.security.*;
import javax.crypto.*;
//
// encrypt and decrypt using the DES private key algorithm
public class PrivateExample {
public static void main (String[] args) throws Exception {
//
// check args and get plaintext
if (args.length !=1) {
System.err.println("Usage: java PrivateExample text");
System.exit(1);
}
byte[] plainText = args[0].getBytes("UTF8");
//
// get a DES private key
System.out.println( "\nStart generating DES key" );
KeyGenerator keyGen = KeyGenerator.getInstance("DES");
keyGen.init(56);
Key key = keyGen.generateKey();
System.out.println( "Finish generating DES key" );
//
// get a DES cipher object and print the provider
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
System.out.println( "\n" + cipher.getProvider().getInfo() );
//
// encrypt using the key and the plaintext
System.out.println( "\nStart encryption" );
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] cipherText = cipher.doFinal(plainText);
System.out.println( "Finish encryption: " );
System.out.println( new String(cipherText, "UTF8") );
//
// decrypt the ciphertext using the same key
System.out.println( "\nStart decryption" );
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] newPlainText = cipher.doFinal(cipherText);
System.out.println( "Finish decryption: " );
System.out.println( new String(newPlainText, "UTF8") );
}
}
■私钥密码术样本执行
D:\IBM>java PrivateExample "This is a test!"
Start generating DES key
Finish generating DES key
SunJCE Provider (implements DES, Triple DES, Blowfish, PBE, Diffie-Hellman,
HMAC-MD5, HMAC-SHA1)
Start encryption
Finish encryption:
Kdkj4338*3n1#kxkgtixo4
Start decryption
Finish decryption:
This is a test!
名牌大灰狼
2004-08-26
打赏
举报
回复
什么是填充?
如前所述,如果使用分组密码而消息长度不是块长度的整数倍,那么,必须用字节填充最后一个块以凑成完整的块大小。有许多方法填充块,譬如全用零或一。在本教程中,我们将对私钥加密使用PKCS5 填充,而对公钥加密使用PKCS1。
使用PKCS5 时,由一个其值表示剩余字节数的重复字节来填充短块。我们不会在本教程中更深入地讨论填充算法,但您需要了解的信息是,JDK 1.4 支持下列填充技术:
无填充
·PKCS5
·OAEP
·SSL3
BouncyCastle 库(请参阅第三方库充实了安全性和参考资料)支持其它填充技术。
hujack
2004-08-26
打赏
举报
回复
是加密吗?
yturieo
2004-08-16
打赏
举报
回复
太专业,帮你顶。
delphi版的
3D
ES
加密
pkcs5
padding
填充
delphi版的
3D
ES
加密,采用ECB模式,
pkcs5
padding
填充
,最近做第三方接口时用到的,生成的密文是16进制的,与网页验证ok
d
es
及
3d
es
ecb
pkcs5
padding 加密 c++
d
es
及
3d
es
ecb
pkcs5
padding 加密 c++ 输出结果非base64及hex 加密结果验证 http://tool.chacuo.net/crypt
3d
es
3d
es
加解密,
填充
模式
PKCS7
3d
es
加解密,
填充
模式
PKCS7
,上面是我写的例子文档,测试没毛病
A
ES
示例(CBC算法模式
PKCS5
填充
模式)
A
ES
示例(CBC算法模式
PKCS5
填充
模式) delphi 和java 源码,delphi可能支持delphi 7 。后续需要自己看代码
北京联通全网有关网上订购和点播接口URL加密算法 * *采用
3D
ES
加密, ECB模式/使用
PKCS7
方式
填充
不足位, *目前给的密钥是192位(24个字节)经过BASE64编码后的可见字符串
北京联通全网有关网上订购和点播接口URL加密算法 * *采用
3D
ES
加密, ECB模式/使用
PKCS7
方式
填充
不足位, *目前给的密钥是192位(24个字节)经过BASE64编码后的可见字符串
图形处理/算法
19,472
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章