/**
* JCA(Java加密框架):Digest、Signature、Key、Cert、Alogorithm, 不论是Digest、Signature、Key、Cert,都要使用到算法Algorithm。
*
*
1)MessageDigest:对消息进行hash算法生成固定长度消息摘要(digest)。由一个单向Hash加密函数对消息进行作用而产生
消息摘要服务其实就是使用hash算法将一段消息(可以是字符串、文件内容、html等)进行计算生成的一个byte[]。常用加密算法MD5、SHA、SHA-1其实都是hash算法。
消息摘要有两个基本属性:两个不同的报文难以生成相同的摘要,难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要(不可逆)
消息摘要算法包括MD(Message Digest,消息摘要算法)、SHA(Secure Hash Algorithm,安全散列算法)、MAC(Message AuthenticationCode,消息认证码算法)共3大系列
2)Signature:数字签名算法是"非对称加密算法"和"消息摘要算法"的结合体。
是信息发送者(就是只有信息的发送者才能产生的别人无法伪造的一段数字串)将“用其私钥对明文信息的特征数据(或称消息摘要)进行 RSA 算法操作”生成Sign+明文信息一起发送给收件人,
作用:以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在经签名后末被篡改(即完整性)。
当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。
3)KeyPairGenerator:根据指定的非对称算法生成配对的公钥、私钥。
4)KeyGenerator 根据指定的对称算法生成秘钥
5)KeyFactory:根据Key说明(KeySpec)生成公钥或者私钥。
6)KeyStore:keystore是一个keys的数据库。Keystore中的私钥会有一个相关联的证书链,《证书用于鉴定对应的公钥》。一个keystore也包含其它的信任的实体。 一个KeyStore是一个key、cert的库,里面存储了PrivateKey, Aliases, Certs.
7)SecretKeySpec 秘钥描述规格说明书
8)Padding:
数据长度:AES和DES在ECB或者CBC模式下,要加密的数据必须是分组长度的整数倍,如果不是那么就需要填充(pad)。
密钥长度:密钥长度是固定的。AES有三种:128、192、256bit
pad的方式有很多种:PKCS7Padding:用十六进制0x07来填充7;Public Key Cryptography Standard
填充方式:用等于填充字节数量的值作为填充值进行填充。
9)SecureRandom:用于生成随机数或者伪随机数。
*/
/**
* 通信“明文加密传输API”常用的流程:
* 1.先用“对称加密秘钥”对“明文文件”进行加密(对称算法加密速度快,明文文件比较大);
* 2.用“非对称publicKey”对“对称加密秘钥”进行加密;(非对称算法加密速度慢,对称秘钥文件小)
* 3.用“非对称PrivateKey”对“对称加密秘钥”进行解密;
* 4.用“对称加密秘钥”对“明文文件”进行解密。
*/
/**
* 通信API数据安全验证常用的做法:
* 1.先用RSA生成公钥私钥对,私钥保留,公钥分发
* 2.用RSA私钥+消息摘要算法(eg:MD5WithRSA)生成Sign
* 3.Sign+明文发送给接受者(明文需要加密可参考上)
* 4.接受者对Sign用RSA公钥解密生成“原消息摘要A”,用明文生成新的“消息摘要B”
* 5.AB进行对比
*/
/**
* 公司APP相关API验证方式
* 1.对每个APP生成appKey+appSecret,必将这两个数据发送给API调用方。
* 2.我方用appKey + appSecret + APIData进行MD5,并截取8-24位作为signA
* 3.明文+signA,一起传输
* 4.调用发用同样的方式,生成signB,验证接口正确性
*
*/
分享到:
相关推荐
IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar
IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar
不懂jca的朋友可以来这看看,一个jca的演示程序,程序逻辑清晰
帮忙分析javacore和dump文件,查看内存泄漏,线程阻塞,个人觉得很实用,希望可以帮忙到需要的人
websphere 内存溢出 javacore分析工具jca456 分析javacore的好工具 分析javacore的好工具
java线程堆栈分析工具jca466.jar;堆内存分析工具Memory Analyzer;分析内存泄露产生的javacore文件,以便于定位blocked线程
websphere javacore 分析工具 jca412
javacore分析工具,很好的一款图形界面分析工具
jca工具分析死锁及内存情况
websphere 内存溢出 javacore分析工具jca401 分析javacore的好工具 分析javacore的好工具
JCA练习 JCA练习 JCA练习 JCA练习 JCA练习
没有积分的可以去下原版...不要忘记收藏一下
ibm websphere 服务器内存溢出或其他故障,生成javacore,分析工具
jca java dump分析工具,检测java 内存溢出,检测java 堆栈资源分析
内存分析工具 jca455.jar 和 ha455.jar 需要用java7运行 java -jar jca455.jar or java -jar ha455.jar
最新IBM javacore分析工具。它提供了广泛的详细 GC 数据值的图形显示,并处理 optthruput、optavgpause 和 gencon GC 模式。它具有原始日志、表格式数据和图表视图,并且可以将数据保存到 jpeg 或 .csv 文件(用于...
利用Jca工具分析JavaCore文件/Thread dump文件。Jca工具分析JavaCore文件/Thread dump文件。很实用。
该资源包含了两部分内容,jca和ha。jca是java线程堆栈分析工具,此压缩包包含的版本是jca396.jar,ha是java内存使用情况分析工具,此压缩包包含的版本是ha405.jar
启动工具:java -jar jca * .jar 在基于POSIX的系统(例如Linux)上请求线程转储的最简单方法是发送kill -3信号,该信号无损地暂停JVM,创建线程转储,然后JVM继续(暂停通常为几百毫秒最多)。例如(用Java进程的...
本书给应用开发人员提供了参考:如何利用最新的Java安全技术构建安全...Java加密体系结构(JCA) Java加密扩展(JCE) Java安全套接字扩展(JSSE) 安全/多用途因特网邮件扩展(S/MIME) 公开密钥加密标准(PKCS)