- 浏览: 146617 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (95)
- java (25)
- 数据库 (9)
- js (0)
- 框架 (10)
- 小问题 (8)
- 转载 (2)
- 配置开发环境 (6)
- 其它 (4)
- 功能记录 (2)
- 安全 (1)
- shell (3)
- spring ibaitis struts2 redis desc (1)
- spring security3.1 (1)
- 小问题 环境 (1)
- 小问题 环境 DelegatingFilterProxy cannot be cast to Filter (0)
- redis filter java (1)
- java redis (2)
- spring quartz 集群 批处理 (1)
- java mybatis (1)
- Junit soap (1)
- mock junit (0)
- mock junit spring (1)
- java jsoup (0)
- jsoup (1)
- python27 pycharm (1)
- maven pom (1)
- java log (1)
- mybatis 分页 (1)
- mysql (1)
- 业务 (1)
- java 测试 (1)
- java zookeeper 批处理 (1)
- hive hadoop (1)
- hive (1)
- hadoop (1)
- maven archetype (1)
- python rsa (1)
- python 页面分析 (1)
- python (0)
最新评论
-
wuyafeng123:
秒杀活动设计思路 -
indiajohns:
非常感谢,很快解决了我的问题
jmesa查询条件中文的编码转换问题 -
yujiaao:
太好了,感谢啊!这行在我这好象不行:URLDecoder.de ...
jmesa查询条件中文的编码转换问题 -
michael_wong:
呵呵,找到啦。在这里有全部源码:http://ishare. ...
Maven权威指南 的simple-parent 工程源码 -
michael_wong:
我也在找啊
Maven权威指南 的simple-parent 工程源码
一个证书发放单位给的证书里面包括一个发送单位的公钥,当前用户的一个私钥,公钥可用 Certificate certificate = getCertificate(certificatePath); PublicKey key = certificate.getPublicKey(); 的方法直接获取。私钥需要提交读取密钥库用到的读取密钥和alias名称,KeyStore ks = getKeyStore(keyStorePath, alias, password); PrivateKey key = (PrivateKey) ks.getKey(alias, password.toCharArray());
以上是单向认证的机制实现
http://crazier9527.iteye.com/blog/396012
以上是单向认证的机制实现
//做签名 public static String sign(String dataString){ //merPriKeyPath安全证书的文件路径 File f = new File(merPriKeyPath); kb = new byte[(int)f.length()]; fis = new FileInputStream(f); fis.read(kb); PKCS8EncodedKeySpec peks = null; KeyFactory kf = null; java.security.PrivateKey pk = null; peks = new PKCS8EncodedKeySpec(kb); kf = KeyFactory.getInstance("RSA"); pk = kf.generatePrivate(peks);//获取私钥 byte sb[] = (byte[])null; sig = Signature.getInstance("SHA1withRSA"); sig.initSign(pk); sig.update(dataString.getBytes("gb2312")); sb = sig.sign(); BASE64Encoder base64 = new BASE64Encoder(); String b64Str = base64.encode(sb); BufferedReader br = new BufferedReader(new StringReader(b64Str)); String tmpStr = ""; String tmpStr1; for(tmpStr1 = ""; (tmpStr = br.readLine()) != null; tmpStr1 = tmpStr1 + tmpStr); b64Str = tmpStr1; return b64Str; } //dataString被签名数据,signString签名结果(base64编码) public static boolean verify(String dataString, String signString){ //读取数字证书文件 String platCertPath="数字证书路径"; FileInputStream fis; File f = new File(platCertPath); cb = new byte[(int)f.length()]; fis = new FileInputStream(f); fis.read(cb); //使用数字证书 ByteArrayInputStream bais = new ByteArrayInputStream(cb); CertificateFactory cf = null; X509Certificate cert = null; cf = CertificateFactory.getInstance("X.509"); cert = (X509Certificate)cf.generateCertificate(bais);// 取公钥匙对象? //验证数字签名 BASE64Decoder base64 = new BASE64Decoder();//对签名进行DASE64编码还原 byte signed[] = base64.decodeBuffer(signString); Signature sig = Signature.getInstance("SHA1withRSA"); sig.initVerify(cert); sig.update(dataString.getBytes()); return sig.verify(signed); }
http://crazier9527.iteye.com/blog/396012
发表评论
-
详解ReentrantReadWriteLock
2016-04-21 14:34 0package java.util.concurrent. ... -
java内部类使用场景体会
2016-04-21 11:56 967内部类的作用: 1.完善多重继承。 疑问在于:多重继承可以用 ... -
logBack用法,记录
2015-11-24 15:37 10311. Logback使用手册 系统中的日志采用 slf4j ... -
表产生sequence功能,测试并发
2015-11-18 16:21 661@Test public void testSerial ... -
Demo
2014-11-03 21:20 0package com.xly.jsoup.nbjy; /* ... -
反射小计
2014-10-07 11:32 529Test.java方法dd重载 class Test{ ... -
Btrace测试
2014-07-17 17:56 641偶尔看到BTrace,必须记录一下 利用hotSpot虚拟机 ... -
java对象占用heap的大小
2013-07-31 10:09 952一个对象占用的堆空间首先是和它有多少个成员变量直接相关 pub ... -
BeanCopier和BeanUtils实现对象复制,处理date类型
2013-03-29 12:52 4496没有废话 先是BeanUtils的实现类型: impo ... -
liferay 为JournalArticle添加分类
2013-03-21 15:45 1114/** * 为网页内容添加分类 ... -
liferay直接跳转到网页内容编辑页面修改的friendlyUrl效果
2013-03-21 14:11 1266找到portlat-impl.jar包,在目录 port ... -
JMS_DEMO
2013-03-14 20:25 15221.安装activeMq 修改service.pr ... -
Xmemcached/jedis springdemo
2013-02-20 13:13 932Xmemcached: HelloWordTest.ja ... -
规则检查功能的demo
2013-01-31 12:55 0规则检查Demo,包括mina,线程池功能 -
使用spring的线程安全web应用(翻译Thread-safe webapps using Spring)
2013-01-11 16:38 1919http://www.javalobby.org/articl ... -
JAVA虚拟机锁机制的升级流程
2013-01-08 14:52 2882http://ifeve.com/java-synchroni ... -
NIO学习
2012-11-27 11:49 1515最需要关注的是,应用进程、内核、IO三个概念。 所谓java的 ... -
Tomcat的HttpConnector/HttpProcesser(tomcat源码学习)
2012-11-21 10:47 1273先启动进程HttpProcesser,等请求到达后加入sock ... -
web.xml加载
2011-02-18 17:24 917转: web.xml文件内容加载顺序为:context- pa ... -
webLogic中 Cannot parse POST parameters of request: 的问题小记
2010-11-25 13:25 7834报错内容: weblogic.utils.NestedRunt ...
相关推荐
这份"java小记.rar"压缩包很可能包含了作者多年从事Java Web开发的经验总结,可能包括代码示例、笔记、最佳实践等内容。 在Java Web开发中,Servlet是核心部分,它是一个Java类,用于扩展服务器的功能,处理HTTP...
在Java编程语言中,`transient`关键字是一个非常重要的概念,它与对象的序列化过程紧密相关。序列化是将一个对象的状态转换为字节流,以便存储或在网络中传输。当一个类实现了`Serializable`接口,该类的对象就可以...
时间和日期中常用到的几个类: java.util.Date, java.util.Calendar, java.util.GregorainCalendar, java.text.DateFormat, java.text.SimpleDateFormat
在本项目中,我们将探索如何利用Linux操作系统,Java编程语言,Python3,NumPy库以及STL文件格式来实现3D打印技术。这是一个跨学科的综合应用,涉及到计算机科学、软件开发以及制造技术。 首先,Linux是开源的操作...
### Jquery AutoComplete组件+Ajax实现搜索框输入提示功能详解 #### 前言 在当前Web应用开发中,提供良好的用户体验是至关重要的。本文主要介绍如何使用Jquery AutoComplete组件与Ajax技术来实现搜索框的实时输入...
在“android开发小记”这个主题中,我们可以深入探讨Android应用程序开发的相关知识,特别是通过查看提供的压缩文件中的代码示例。这些文件名如lesson_8_code.zip至lesson_20_codel.zip,以及不同的Mp3Player版本,...
环境: Linux s12084 2.6.9-67.ELsmp #1 SMP Wed ...小记一下。以备以后参考。 boost 库做得真好。在windows 平台, linux 平台下编译都很顺利。hp aCC 也宣称对 boost 1.35 完全支持 。 全部编译是很痛苦的过程
- **适用范围**:适用于C风格数组、初始化列表以及任何实现了非成员`begin()`和`end()`函数的类型。 #### 五、Override 和 Final 关键字 - **设计背景**:在C++中,虚函数的覆盖常常依赖于程序员的自觉性,没有...
《Xstream使用小记》 Xstream是一款Java库,它提供了简单且强大的方式来序列化和反序列化Java对象到XML,以及从XML回转换为Java对象。在本文中,我们将深入探讨Xstream的核心概念、使用场景以及如何通过实例进行...
随笔小记.doc
为了实现这一目标,他深入学习了Java相关的服务器技术,包括Servlet和JSP。 Servlet是运行在服务器端的Java程序,用于响应来自客户端的HTTP请求。它提供了比CGI更强大的功能,每个请求都会启动一个新的线程来处理。...
【标题】"Flex整合J2EE开发小记+源码下载"揭示了本文将探讨如何在Java企业级环境中(J2EE)集成Adobe Flex技术,用于构建富互联网应用程序(RIA)。Flex是一种强大的客户端开发框架,它允许开发人员创建交互性强、...
本文将围绕"Hessian的字段序列化小记"这一主题,深入探讨Hessian的工作原理、序列化过程以及其在实际应用中的价值。 Hessian的目标是通过减少数据传输的体积来提高网络通信的效率。相比于XML和JSON等文本格式,...
GeoStudio学习小记
这篇文章是关于一种名为“咬人草”的植物的描述和作者对其独特特性的体验与思考。咬人草在新疆地区生长,是一种看似普通的草本植物,却有着不寻常的防御机制——它的叶瓣上有尖锐的小刺,一旦触碰,就会像被毒蜂蜇...
这篇小记将深入探讨Spring的主要组件和关键特性,带你一步步走进Spring的世界。 首先,我们要理解Spring的核心——依赖注入。在传统的Java程序中,对象之间的依赖关系通常是硬编码的,这使得代码难以测试和维护。...
例如,对于Java,使用thrift命令行工具可以生成Java服务端和客户端的接口及实现类: ```bash thrift -gen java your_service.thrift ``` 生成的代码包括`your_service.java`(服务接口)、`your_service$Iface....
《数据结构习题总结 拾荒小记》是一份以C++语言实现的数据结构算法集,涵盖了严蔚敏教授经典教材中的80%算法。这份资料旨在帮助学习者巩固和深化对数据结构的理解,同时也为社区提供了一份宝贵的资源。 首先,让...