社区
Java SE
帖子详情
Java Mac 加密方法
kingo_liang
2008-03-30 06:52:48
想要一个Java Mac加密和方法
支持Ansi X9.9的Mac加密
有方法提供或者有解决方案提供者重赏:)
...全文
1051
5
打赏
收藏
Java Mac 加密方法
想要一个Java Mac加密和方法 支持Ansi X9.9的Mac加密 有方法提供或者有解决方案提供者重赏:)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gjgj3368
2008-04-03
打赏
举报
回复
学习
xql80329
2008-04-02
打赏
举报
回复
百度 一下 网上N多
chen09
2008-04-02
打赏
举报
回复
csdn别处c&p来的C代码,小改一下就成。
void xor(unsigned char *input1,unsigned char *input2,unsigned char *output,int len)
{
while (len) {
*output++=*input1++^*input2++;
len--;
}
}
/*
*@brief: 根据输入数据计算MAC,初始IV向量默认为"\x00\x00\x00\x00\x00\x00\x00\x00"
*@param: sMacKey 密钥
*@param: pInData 输入数据
*@param: iInLen 输入数据长度
*@param: pRetData 计算出来的MAC
*@调用自定义xor和des函数
*/
void MacArithmetic(unsigned char *sMacKey,unsigned char *pInData,int iInLen,unsigned char *pRetData)
{
//MAC算法:
//将字符串pInata分为8字节为单位的数据块,不足补\x00,分别标号为D1,D2,D3,...,Dn
//设置初始向量E0="\x00\x00\x00\x00\x00\x00\x00\x00"
//将E0^D1 —---->E1(E0,D1异或的后结果经des加密得到E1)
//将E1^D2 ----->E2
//如此类推,知道得出En结束,En即是计算出来的MAC
unsigned char sUpData[512];
unsigned char sData[20];
unsigned char sXorData[20];
unsigned char sDesData[20];
int i,n,iNum;
memset(sUpData,0,sizeof(sUpData));
memset(sData,0,sizeof(sData));
memset(sXorData,0,sizeof(sXorData));
memset(sDesData,0,sizeof(sDesData));
//补全要加密数据成8倍数到sUpData,不足补\x00
memcpy(sUpData,pInData,iInLen);
iNum = iInLen%8;
if (iNum == 0)
n=iInLen/8;
else {
n=iInLen/8+1;
memcpy(sUpData+iInLen,"\x00\x00\x00\x00\x00\x00\x00\x00",8-iNum);
}
printf("n=%d\nsUpData=[%s]\n",n,sUpData);
//轮循异或,加密
memcpy(sDesData,"\x00\x00\x00\x00\x00\x00\x00\x00",8); //初始向量赋给sDesData
for(i=0;i<n;i++)
{
//拷贝sUpData中下一个8位到sData
memcpy(sData,sUpData+i*8,8);
xor(sDesData,sData,sXorData,8); //异或
Des(sXorData,sDesData,sMacKey,1); //des加密
}
memcpy(pRetData,sDesData,8);
return ;
}
xlongbuilder
2008-03-31
打赏
举报
回复
[Quote=引用 1 楼 lbfhappy 的回复:]
还是看API去吧,很详细的
[/Quote]
千里冰封820
2008-03-30
打赏
举报
回复
还是看API去吧,很详细的
java
字符串
加密
解密
在实际应用中,通常会结合使用多种
加密
方法
,例如先用非对称
加密
交换对称密钥,然后用对称密钥
加密
大量数据,以平衡
加密
效率和安全性。 在用户服务与客户端之间的通信中,HTTPS协议广泛使用,它基于SSL/TLS协议,...
JAVA
数据
加密
jar包之sunjce_provider.rar
5.
加密
和解密:使用`Cipher`对象的`doFinal()`
方法
执行
加密
或解密操作。对于非对称
加密
,通常先用公钥
加密
,然后用私钥解密;对称
加密
则使用同一密钥进行加解密。 6. 安全存储和管理密钥:密钥必须安全存储,避免...
基于
JAVA
的
加密
算法(包括10种
加密
技术)
Java
加密
技术(一) 关键字:
java
加密
基础, base64, md5,
mac
, sha, 单向
加密
。。。。。。。。。。。。。。
java
加密
程序源代码
在
Java
中,我们可以使用多种
方法
来实现
加密
,这些
方法
通常基于标准的
加密
算法,如对称
加密
和非对称
加密
。对称
加密
算法如DES(Data Encryption Standard)、3DES(Triple DES)和AES(Advanced Encryption Standard)...
Java
文件
加密
解密
1. **对称
加密
算法**:最常见的对称
加密
方法
是AES(Advanced Encryption Standard),它使用相同的密钥进行
加密
和解密。
Java
提供了`
java
x.crypto`包来支持AES
加密
,例如`Cipher`类用于执行
加密
和解密操作,`...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章