- 浏览: 199966 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (101)
- 职业 (4)
- 生活 (3)
- 场景应用 (6)
- flex (14)
- java (31)
- php (2)
- python (2)
- hadoop (6)
- 项目管理 (1)
- 工作流 (4)
- 手机web应用 (3)
- 算法 (4)
- 小技巧 (1)
- 数据库 (2)
- sphinx (1)
- web综合 (15)
- spring (5)
- 设计 (9)
- javascript (3)
- linux (2)
- 报表 (2)
- delphi (1)
- ejb (1)
- 架构 (3)
- uml (3)
- lucene (2)
- BI (1)
- 多线程 (1)
- 地图 (1)
- gis (1)
- 网络基础 (1)
- spark (2)
- 分布式 (3)
- ext (1)
- android (3)
- arduino (1)
- 协同办公 (2)
- OA流程 (2)
- 畅想 (1)
- ios (3)
- swift (1)
- webkit (1)
- c (1)
- 浏览器 (1)
- html5 (2)
- rtmp (1)
- soket (1)
- AI (2)
- tensorflow (1)
- ignite (1)
- react (4)
- 新空间 (2)
- 闲话 (3)
- docker (1)
- kubernetes (1)
最新评论
-
wenzhiyinghen:
...
spark 学习 -
zlbdexiaohao:
flex 写的时钟 -
minn84:
luoguohong88 写道你上传的那个openi.zip ...
openi1.3 eclipse 整合调试 -
luoguohong88:
你上传的那个openi.zip (5.5 MB)有问题 能再上 ...
openi1.3 eclipse 整合调试 -
minn84:
demo的思路很简单,主要是两点:1.hadoop负责处理数据 ...
hadoop+lucene+web 综合小demo
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Signature;
public class SinatureTest {
private static final int KEYSIZE=512;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
if(args[0].equals("-genkey"))
{
KeyPairGenerator pairgen=KeyPairGenerator.getInstance("DSA");
SecureRandom random=new SecureRandom();
pairgen.initialize(KEYSIZE, random);
KeyPair keyPair=pairgen.generateKeyPair();
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(args[1]));
out.writeObject(keyPair.getPublic());
out.close();
out=new ObjectOutputStream(new FileOutputStream(args[2]));
out.writeObject(keyPair.getPrivate());
out.close();
}else if(args[0].equals("-sign"))
{
ObjectInputStream keyIn=new ObjectInputStream(new FileInputStream(args[3]));
PrivateKey privkey=(PrivateKey) keyIn.readObject();
keyIn.close();
Signature signalg=Signature.getInstance("DSA");
signalg.initSign(privkey);
File infile=new File(args[1]);
InputStream in=new FileInputStream(infile);
int length=(int) infile.length();
byte[] message=new byte[length];
in.read(message,0,length);
in.close();
signalg.update(message);
byte[] signature=signalg.sign();
DataOutputStream out=new DataOutputStream(new FileOutputStream(args[2]));
int signlength=signature.length;
out.writeInt(signlength);
out.write(signature,0,signlength);
out.write(message,0,length);
out.close();
}else if(args[0].equals("-verify"))
{
ObjectInputStream keyIn=new ObjectInputStream(new FileInputStream(args[2]));
PublicKey pubkey=(PublicKey) keyIn.readObject();
keyIn.close();
Signature verifyalg=Signature.getInstance("DSA");
verifyalg.initVerify(pubkey);
File infile=new File(args[1]);
DataInputStream in=new DataInputStream(new FileInputStream(infile));
int signlength=in.readInt();
byte[] signature=new byte[signlength];
in.read(signature,0,signlength);
int length=(int) (infile.length()-signlength-4);
byte[] message=new byte[length];
in.read(message,0,length);
in.close();
verifyalg.update(message);
if(!verifyalg.verify(signature))
{
System.out.println("not ");
}
System.out.println("verifid");
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
消息签名
1)javac *.java
2)java SignatureTest -genkey public.key private.key
3)java SignatureTest -sign sample.txt.signed private.key
4)java SignatureTest -verify sample.txt.signed public.key
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Signature;
public class SinatureTest {
private static final int KEYSIZE=512;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
if(args[0].equals("-genkey"))
{
KeyPairGenerator pairgen=KeyPairGenerator.getInstance("DSA");
SecureRandom random=new SecureRandom();
pairgen.initialize(KEYSIZE, random);
KeyPair keyPair=pairgen.generateKeyPair();
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(args[1]));
out.writeObject(keyPair.getPublic());
out.close();
out=new ObjectOutputStream(new FileOutputStream(args[2]));
out.writeObject(keyPair.getPrivate());
out.close();
}else if(args[0].equals("-sign"))
{
ObjectInputStream keyIn=new ObjectInputStream(new FileInputStream(args[3]));
PrivateKey privkey=(PrivateKey) keyIn.readObject();
keyIn.close();
Signature signalg=Signature.getInstance("DSA");
signalg.initSign(privkey);
File infile=new File(args[1]);
InputStream in=new FileInputStream(infile);
int length=(int) infile.length();
byte[] message=new byte[length];
in.read(message,0,length);
in.close();
signalg.update(message);
byte[] signature=signalg.sign();
DataOutputStream out=new DataOutputStream(new FileOutputStream(args[2]));
int signlength=signature.length;
out.writeInt(signlength);
out.write(signature,0,signlength);
out.write(message,0,length);
out.close();
}else if(args[0].equals("-verify"))
{
ObjectInputStream keyIn=new ObjectInputStream(new FileInputStream(args[2]));
PublicKey pubkey=(PublicKey) keyIn.readObject();
keyIn.close();
Signature verifyalg=Signature.getInstance("DSA");
verifyalg.initVerify(pubkey);
File infile=new File(args[1]);
DataInputStream in=new DataInputStream(new FileInputStream(infile));
int signlength=in.readInt();
byte[] signature=new byte[signlength];
in.read(signature,0,signlength);
int length=(int) (infile.length()-signlength-4);
byte[] message=new byte[length];
in.read(message,0,length);
in.close();
verifyalg.update(message);
if(!verifyalg.verify(signature))
{
System.out.println("not ");
}
System.out.println("verifid");
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
消息签名
1)javac *.java
2)java SignatureTest -genkey public.key private.key
3)java SignatureTest -sign sample.txt.signed private.key
4)java SignatureTest -verify sample.txt.signed public.key
发表评论
-
多语言版基础管理系统展示[es6版]-入门配置篇
2018-10-26 07:17 567新增一篇入门配置文档 原文地址: http://www.i8 ... -
多语言版基础管理系统展示[es6版] -流程配置效果
2017-12-17 19:42 756终于找到一个可以较好展示工作流程配置的 ... -
多语言版基础管理系统展示[es6版]-简单整合spring+tensorflow+ignite+hadoop
2017-08-05 18:14 8661.整合基于[多语言版基础管理系统展示[es6版] ] ... -
多语言版基础管理系统展示[es6版]-简单整合tensorflow
2017-05-03 19:48 1053在大数据和AI渐渐兴起的时候,这是一个关于大 ... -
基于html5的websocket和rtmp协议的java socket服务器
2016-12-07 07:20 1116现代企事业单位中,会涉及到数据推送和获取服 ... -
多语言版基础管理系统展示[flash版]-hadoop+spark+spring简单整合
2016-06-18 21:36 4325本demo基于多语言版基础管理系统展示[fl ... -
ios简单的增删查例子
2015-02-23 16:08 886本例子分为两 ... -
spark 学习
2013-05-18 00:13 19240spark,又一个传说中的分布式实现,详情:ht ... -
基于rtmp协议的java多线程服务器
2013-03-31 21:34 3899打算设计这个半开源服务的计划已经有很长时间了,大 ... -
矩阵算法实现修改
2013-03-23 00:10 1061前段时间因为项目需要,需要实现一个据说是某高 ... -
hadoop+lucene+web 综合小demo
2013-03-02 01:28 13762很长一段时间没有关注hadoop,突然间有兴致,于是动手又 ... -
ejb3.x 简单小 demo
2012-02-21 21:07 1209本demo适合有一定编程经验的自学者 ,简单易懂,涉及数据 ... -
java综合
2012-02-11 22:00 1467以下自定义的简单类中,分析涉及的基础知识 / ... -
java nio应用 aes字符串加密与解密
2010-08-18 22:36 2003import java.io.IOException; imp ... -
java excel内容转换为键/值对基本通用方法与数据库导入
2010-06-01 23:28 1735有时候我们需要从execel中导入大量的数据,编程过程中就遇到 ... -
简单servlet socket 整合
2010-05-05 21:52 4399package filter; import java.io ... -
java写的简单生成sql语句的工具方法
2010-04-20 23:02 3482jdbc编程中,最麻烦的是拼sql语句,尤其是字段太多的时候, ... -
基于rtmp协议用java nio写小型游戏服务器的总结3
2010-03-05 20:59 2183在flex使用rtmp协议进行连接的时候,有个握手的过程,详情 ... -
基于rtmp协议用java nio写小型游戏服务器的总结2
2010-03-04 21:41 2310今天介绍一下学习rtmp的过程,首先当然是baidu和goog ... -
基于rtmp协议用java nio写小型游戏服务器的总结1
2010-03-03 22:55 2531前一阵子,进了一家公司,工作的内容是写基于rtmp协议的jav ...
相关推荐
JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字签名JAVA数字...
Java 数字签名是一种用于验证数据完整性和发送者身份的安全机制,它是基于公钥加密技术的。在Java中,数字签名通常使用Java Cryptography Architecture (JCA) 和 Java Cryptography Extension (JCE) 提供的API来实现...
【Java数字签名提供XML安全】 XML(eXtensible Markup Language)作为一种标准的数据交换格式,在软件开发和数据传输中扮演着重要角色。然而,随着XML的广泛应用,数据的安全性问题日益凸显。为了确保XML文件的完整...
Java数字签名源程序是用于实现数据完整性、身份验证和非否认性的关键技术,它在网络安全中扮演着重要角色。本程序是使用JAVA编程语言编写的,遵循了计算机科学中关于密码学的基本原理。数字签名通常与公钥基础设施...
别人那边考过来的 一款java艺术签名jar包
【标题】"开心超级签系统源码 Java超级签名系统apk分发系统源码"涉及到的主要知识点是Android应用的签名机制、Java编程以及应用分发。 首先,我们需要理解Android应用的签名机制。在Android系统中,每个应用在安装...
开心的java超级签名系统,别人发的我也不知道那个版本了,这个java版当是别人1W多买的,java的不会搞就没搭建了,所以你也别来问我怎么搭建和演示了,截图是源码里的模板图,源码里附带部署说明。有需要的自行下载。...
在Java编程环境中,签名验证是安全领域中的一个重要概念,它涉及到数据完整性和来源验证。这里的"java简单实现验证签名"项目可能是指通过Java语言来实现一个简单的数字签名验证过程。数字签名通常用于确保数据未被...
签名过程涉及到了Java的关键组件——Java Key Store(JKS),这是Java提供的一个安全存储密钥和证书的容器。 生成Android签名文件通常使用Java的`keytool`命令行工具,它包含在Java Development Kit (JDK) 中。以下...
当发送者对消息或文件进行签名时,他们会使用私钥对消息的哈希值进行加密,接收者则使用发送者的公钥来解密这个签名,以验证消息是否被篡改以及发送者的身份。 1. RSA(Rivest-Shamir-Adleman)签名: RSA是一种...
同时,接收者可以通过验证签名来确认消息确实来自声称的发送者,防止中间人攻击。 Java提供了一套强大的安全框架,其中包括`java.security`包,这个包下有`Signature`类,它是实现数字签名的核心。使用`Signature`...
Java编写的数字签名程序是信息安全领域的一个重要应用,它涉及到密码学、数据完整性以及身份验证等多个方面的知识。在这个程序中,我们主要会讨论以下几个关键概念和技术: 1. **数字签名**:数字签名并非我们日常...
Java JAR(Java Archive)包签名是一个安全机制,用于验证JAR文件的来源和完整性,确保用户在执行或安装时可以信任这些文件。签名过程包括对JAR中的每个文件进行哈希计算,然后将这些哈希值与发布者的数字签名一起...
Java电子签名技术是一种在PDF文档中实现安全、可验证签署的方法,它结合了现代加密技术和数字证书,确保了文档的完整性和不可篡改性。在本文中,我们将深入探讨如何利用Java来生成带有电子签名的PDF格式合同。 首先...
在Java环境中实现PDF文件的电子签名,主要涉及到数字证书的生成、PDF处理库的使用以及签名的嵌入操作。下面将详细介绍这个过程。 首先,我们需要了解PFX(Personal Information Exchange)证书。PFX是一种包含了...
Java 数字签名是一种用于验证数据完整性和发送者身份的安全机制,它是基于公钥加密技术的。在Java中,数字签名通常涉及到使用Java的KeyStore API来管理密钥对,包括私钥和公钥。KeyStore是Java提供的一个安全组件,...
Java 数字签名是一种用于验证数据完整性和发送者身份的安全机制,它是基于公钥加密技术的。在 Java 平台上,我们可以使用内置的 Keytool 和 Jarsigner 工具来实现数字签名的操作。以下是对这个主题的详细讲解: 一...
"Java 签名加密 + C#签名加密"这个主题涉及到的就是如何在Java和C#这两种不同的编程语言之间进行安全的数据交互,确保信息不被篡改。签名加密是一种常见的安全措施,它结合了数字签名和加密技术,用于验证数据的完整...