本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/details/75007189 数字签名:私钥用于签名,公钥用于验证. 数字签名的作用: 验证数据的完整性,认证数据来源,抗否认. 数字签名实现的具体原理:    1. 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要.在数学上保证,只要改动报文中任何一位,重新计算出的报文摘要值就会与…
1.引言 HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.本文,就来深入介绍下其原理. 补充:限于篇幅,本文对于https的相关技术要点的介绍尽量简明扼要,如想要详细了解HTTPS的方方面面,请阅读<即时通讯安全篇(七):如果这样来理解HTTPS,一篇就够了>. (本文同步发布于:http://www.52im.net/thread-2446-1-1.html) 2.相关文章…
Base64加密解密 package com.stone.util; import java.io.UnsupportedEncodingException; import sun.misc.*; public class Base64 { // 加密 public static String getBase64(String str) { byte[] b = null; String s = null; try { b = str.getBytes("utf-8"); } catc…
1.初始生成字符串的代码程序: package com.map.test; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test { /** * @param args */ public static List<Map<String, String>…
package com.baidu.mysql;import java.sql.*; public class MysqlJdbc { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try{ Class.forName("com.mysql.jdbc.Driver"); System.out.println("success lo…
一.设计思想:由于命令行接收的是字符串类型,因此应先将字符串类型转化为整型或其他字符型,然后利用for循环求和并输出结果 二.程序流程图: 三.源程序代码:   //王荣荣 2016/9/23      package demo;     public class CommandParameter {     public static void main(String[] args) {             // TODO Auto-generated method stub      …
发送方任务: 1.将文档.源代码打包到jar包(这样才干够签名) 2.在keystore中生成相应的Private key和Public key 3.用Private Key对jar包进行签名,这是jar包里就含有了数字签名文件 4.从keystore中导出签名的Private Key相应的包括Public key的证书 5.将证书.文档发送给接收方 接收方任务: 1.将Public key导入到接收方的keystore中(没有KeyStore会自己主动生成) 2.打印证书的FingerPrin…
总所周知,Java是目前使用最为广泛的网络编程语言之一. 它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点. 一般的JAVA程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级)工程师绝非易事,那么怎样才是一名合格的高级(资深或管理层)JAVA工程师呢? 那么今天就给小伙伴们列举以下几个点: 说明:以下内容非强制或必学,部分内容已经属于较深层次的内容了,做了解即可. 宏观上 技术广度方面:至少要精通多门开源技术吧,研究过struts spring等的源码…
从头到尾保护 JAVA 目前关于 JAVA 程序的加密方式不外乎 JAVA 模糊处理(Obfuscator)和运用 ClassLoader 方法进行加密处理这两种方式(其他的方式亦有,但大多是这两种的延伸和变异).这两种方式不管给 JAVA 反编译器造成多少困难, 毕竟还是有迹可寻,有机可乘的.本文介绍的方法是对 ClassLoader 方式加密处理的一种改进,使之达到传统二进制程序代码安全. 0 评论: 胡宪利 (samenhu@yahoo.com.cn)中兴通讯SoftSwitch产品部 2…
实用的开发工具对于Java程序开发者来说,工作起来事半功倍.本文中小编将为大家列举包括开发环境.分析测试.代码保护等实用工具. 开发环境 Sonarqube Sonarqube是一个开源平台,是一款代码质量管理和环境搭建工具.它支持Java.C/C++.C#.PHP.Flex.JavaScript.Python.PL/SQL.COBOL等25中语言,此外,它还可以作为Android开发的一部分. 它提供了完全自动化的分析工具,并且可以与Maven.Ant.Gradle和其它集成工具很好地集成,也…