这几天一直做安全登录,网上查了好多资料,不尽如意。
具体实现思路如下:
1。服务端生成公钥与私钥,保存。
2。客户端在请求到登录页面后,随机生成一字符串。
3。后此随机字符串作为密钥加密密码,再用从服务端获取到的公钥加密生成的随机字符串。
4。将此两段密文传入服务端,服务端用私钥解出随机字符串,再用此私钥解出加密的密文。
这其中有一个关键是解决服务端的公钥,传入客户端,客户端用此公钥加密字符串后,后又能在服务端用私钥解出。
此文即为实现此步而作。
加密算法为RSA:
1。服务端的RSA java实现。
/**
*
*/
package com.sun ...
和对称加密算法一样,非对称加密算法也提供两个函数:消息加密和消息解密,但该算法较对
称加密算法有两个重要的区别。首先,用于消息解密的密钥值与用于消息加密的密钥值不同;其次,非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方
面,非对称加密算法却具有对称密码难以企及的优势。
为说明这种优势,来回顾一下前面使用对称加密算法的例子。Alice使用密钥K加密消
息并将其发送给Bob,Bob收到加密的消息后,使用密钥K对其解密以恢复原始消息。这里存在一个问题,即Alice如何将用于加密消息的密钥值发送给
Bob?答案是,Alice发送密钥值给Bob时必须 ...
一.密码学简介
据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准
(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了
AES、ECC等。
使用密码学可以达到以下目的:
...
public String buildReturnDocument(String message,String season) {
org.dom4j.Document document = DocumentHelper.createDocument();
org.dom4j.Element wsDataElement = document.addElement("WSData");
wsDataElement.addComment("深圳电信vbao系统返回网银结算消息");
org.dom4j.Element succ ...
dom4j 是一种解析 XML 文档的开放源代码 XML 框架。本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档。
dom4j API 包含一个解析 XML 文档的工具。本文中将使用这个解析器创建一个示例 XML 文档。清单 1 显示了这个示例 XML 文档,catalog.xml。
清单 1. 示例 XML 文档(catalog.xml)
<?xml version="1.0" encoding="UTF-8"?>
<catal ...
区别:
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,
比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2
(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做
的权利。Oracle自己开发了一个数据类型 ...
/**
*
*
*
* @param a
* 加数字符串1
*
* @param b
* 加数字符串2
*
* @return 结果字符串
*
* 分析:
*
* 1、取得两个字符串的长度
*
* 2、把两个的长度做比较,并得出较长的长度,及较短的长度
*
* 3、把长度较短的加数字符串,在左面补0,使之与较长的字符串一样长
*
* 4、从最高位,一个个数的取出来相加,当然首先得转换为整型
*
* ...
开发环境部署
配置开发环境
Step1 : 解压eclipse-SDK-3.2-win32.zip
Step2 : 解压org.eclipsefan.pluto.ui_1.0.0.zip , 并将其拷入eclipse\plugins目录
下, 如下: eclipse\plugins\org.eclipsefan.pluto.ui_1.0.0\
\Icon
\Lib
\Source
\Webapp
下载地址:
Pluto-plugin
http://prdownloads.sourc ...
这是一个世界范围内都存在的问题,所以,Java提供了世界性的解决方法。本文描述的方法是用于处理中文的,但是,推而广之,对于处理世界上其它国家和地区的语言同样适用。
汉字是双字节的。所谓双字节是指一个双字要占用两个BYTE的位置(即16位),分别称为高位和低位。中国规定的汉字编码为GB2312,这是
强制性的,目前几乎所有的能处理中文的应用程序都支持GB2312。GB2312包括了一二级汉字和9区符号,高位从0xa1到0xfe,低位也是从
0xa1到0xfe,其中,汉字的编码范围为0xb0a1到0xf7fe。
另外有一种编码,叫做GBK,但这是一份规范,不是强制的。GBK提供 ...
初始化servlet
还可以使用一个特别的servlet来进行log4j初始化。这里就是个示例:
package com.foo;
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import ...
Copyright&copy; 2000-2004 The Apache Software Foundation.
版权所有。Log4j软件是在遵守Apache Software License 1.1版的条例下发行的,Apache Software
License的复制件被包括在log4j发布的LICENSE.txt文件里。这个简短手册也借用了The complete log4j
manual 里的一些内容,The complete log4j manual包含最新的更为详尽的信息。 The
complete log4j manual
摘 ...
一般的系统对程序的调试信息只进行了简单的粗放处理,将这些信息直接用System.out.println()语句输出到控制台中。由于在调度过程中程序员为了能够跟踪程序的运行情况往往将大量信息输出到控制台,而在调度成功后没有相应地将这些信息屏蔽掉,在程序部署运行后,往往一个简单的业务功能调用也会输出大容量的过程调度信息,一方面造成了大量IO的读写,占用硬盘空间,另一方面则因为日志量大,很难查找到运行期有用的日志信息。
程序异常,资源释放操作失败这些信息是发现程序问题,定位出错点的信息依据,得不到这些信息将导致程序错误被屏蔽,要想使问题浮出水面程序必须能够提供详细而简洁的日志信息。
?l ...
最近在考虑一个安全可靠的,容易部署的方案来解决登陆的安全问题,因为这个问题随着网上银行,网络游戏等的兴起而越来越重要。之所以想跨平台,是因
为最近很多的linux用户在网上讨论linux,firefox这些使用网银等时候遇到的麻烦。我恰好看了他们的很多讨论,除了口水之外没有别的东西,
只废话而不做事的废柴太多了。因此,我就有了这么一篇文章,介绍一下怎么实现安全的登陆。题外话一句,我对web安全的各种技巧,其实没有太大的兴趣,虽
然闲得没事也会偶尔玩玩,只是和我玩CS差不多而已。
一. 登陆面临的安全攻击
1. 键盘记录
键盘记录应该是目前最流行的盗取密码的方法了 ...
这几天为转码的事头都大了,下面一个转码工具帮了大忙,特共享如下:
/*************************************************
Copyright (C), 2008-2009, SunSoft Team Tech. Co., Ltd.
File name: CharTools.java
Description:
Others:
Function List:
History:
********** ...
多数 Java 开发人员已经把模型-视图-控制器(MVC)模式应用在他们的 Web 应用程序上。在传统的 Web 应用程序中,视图组件由
JSP 或者其他表示技术(例如 Velocity 模板)构成。这些表示组件动态地生成全新的 HTML
页面,替代用户以前正在查看的页面,从而更新用户界面。但是,在 Java Web 应用程序使用 Ajax UI 的情况下,基于从
XMLHttpRequest 的响应接收到的数据,JavaScript
客户端代码对于更新用户看到的内容负有最终责任。从服务器的角度来看,视图成为它响应客户机请求而发送的数据表示。
这篇文章侧重于可以用来生成 Ja ...
Java对象的生命周期分析
Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。因此,对象的生命周期长度可用如下的表达式表示:T = T1 +
T2
+T3。其中T1表示对象的创建时间,T2表示对象的使用时间,而T3则表示其清除时间。由此,我们可以看出,只有T2是真正有效的时间,而T1、T3则
是对象本身的开销。下面再看看T1、T3在对象的整个生命周期中所占的比例。
我们知道,Java对象是通过构造函数来创建的,在这一过程中,该构造函数链中的所有构造函数也都会被自动调用。另外,默认情况下,调用类的构造函数
时,Java会把变量初始化成 ...
.CLASS 文件存放在服务器端,由客户端的浏览器运行 APPLET , APPLET 只起调入 FRAME
类等主程序的作用。界面包括 Textfield ,TextArea,List,Choice 等。
I. 取中文
用 JDBC 执行 &nb ...
在基于 Java
语言的编程中,我们经常碰到汉字的处理及显示的问题。一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java
语言默认的编码方式是UNICODE ,而我们中国人通常使用的文件和数据库都是基于 GB2312 或者 BIG5
等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合 Java
编程实例,分析以上两个问题并提出解决它们的方案。 ...
可以理解为计算机没有字符的概念,只有字节。字符是存在于人类语言层的概念,其作用是为了人与人之间的交流,因为字节对于人类是不可读的,但是计算机存储所有的数据都是按照字节存储。
因
此要将人类意识中的字符存储到计算机中,则必须将字符转换为字节数据,那么怎么转化呢,则必须要一种映射规则,这里的映射规则就是通常意义中的字符编码,
比如说该文件是GBK编码,可以说为:这个文档中的字符数据是按照GBK这种字符字节映射规则将字符转换为字节存储的。
所以所有要将人类意识中的字符存储在计算机或者需要通过计算机传递时,都涉及到字符和字节之间的通过某种映射规则的转换。
将字符按照映射规则转化为字节称为编码 ...
private String convert(String str) {
String tmp;
StringBuffer sb = new StringBuffer(1000);
char c;
int i, j;
sb.setLength(0);
for (i = 0; i < str.length(); i++) {
c = str.charAt(i);
if (c > 255) {
sb.append("\\u");
j = (c >>> 8);
tmp ...
1.首先用jdk自带的工具keytool生成一个证书keystore JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA \ -keystore /path/to/my/keystore
2. 如果是JDK1.3以下则需要下载Java Secure Socket Extensions (JSSE) package,
version 1.0.2 or later,且将jcert.jar, jnet.jar,
jsse.jar拷贝到$JAVA_HOME/jre/lib/ext 如果是JDK1.4.x则已经有这些包。 3.修改t ...
iamafannetstat netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在我的计算机上执行netstat后,其输出结果为:Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHEDtcp 296 0 210.34.6.89:1165 210.34.6.84:net ...
最近,在Eclipse中导入其他项目,总是报下面2个错误。将项目所需的jar都引入了。依然还存在这个问题。1.The
project was not built since its build path is incomplete. Cannot find
the class file for java.lang.Object. Fix the build path then try
building this project2.The type java.lang.Object cannot be resolved. It is indirectly referenced ...
具考证:在字符长度一定时CHAR的性能比VARCHAR好,而在长度不确定时,CHAR类型的字段在使用时性能略差。这个在sqlServer数据库下面能够体现,并且这个字段是经常使用的。
区别:
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR
(20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2
(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。由于char是以固定长度的,所以它的速度会比
varchar快得多!但程序处理起来要麻 ...
声明:由于最近对安全加密相关技术比较感兴趣,所以翻译了这篇SSL的工作原理。这是一篇比较好的文章,深入
浅出的介绍了SSL --
安全套接层的工作原理,但是由于本人的加密知识及英语水平所限,感觉很多地方翻译的不好,但是我相信大家还是能够看懂的。:-)还是那句老话,本文欢迎非
商业性转载,但请保持文章完整性并注明出处!
密钥密码系统介绍
这篇文章向大家阐述了Netscape公司是如何使用RSA的公用密钥密码系统来实现因特网安全的。Netscape的安全套接层的实现就利用了这篇文章中所讨论的技术。
RSA的公用密钥密码系统广泛地应用于计算机工业的认证和加密方面。Netsca ...
用户登录是任何一个应用系统的基本功能,特别是对于网上银行系统来说,用户登录的安全性尤为重要。如何设计一个网站的安全登录认证程序,是本文主要讨论的问题。 静态密码存在着比较多的安全隐患,攻击者有很多手段获得静态密码,管理密码也具有较高的成本,我在前文《中国网上银行系统安全性分析》中曾经论证过,使用硬件安全产品“动态密码锁”或者“USB Key”可以较好的解决这个问题,但是会带来加密锁的成本,在不增加硬件成本的情况下,我们也可以通过一些设计上的技巧和措施在一定程度上来保证登录者的身份。 一、客户端和服务器端的安全 客户端的安全,主要是用户密码本 ...
本文是一篇软件加密技术的基础性文章,简要介绍了软件加密的一些基本常识和一些加密产品,适用于国内软件开发商或者个人共享软件开发者阅读参考。 1、加密技术概述 一个密码系统的安全性只在于密钥的保密性,而不在算法的保密性。 对纯数据的加密的确是这样。对于你不愿意让他看到这些数据(数据的明文)的人,用可靠的加密算法,只要破解者不知道被加密数据的密码,他就不可解读这些数据。
但是,软件的加密不同于数据的加密,它只能是“隐藏”。不管你愿意不愿意让他(合法用户,或
Cracker)看见这些数据(软件的明文),软件最终总要在机器上运行,对机器,它就必须是明文。既然机器可以 ...
前言:本文是对于一般性质的网上银行系统安全性的技术分析文章,对于目前中国国内具体银行的安全性不具有评测功能,也不对任何第三方评测数据负责。以下是正文。 网络银行是一个比较新的概念,中国的网络银行大多是对现有银行专用网的延伸和对银行传统业务方式的补充,银行增加一些软、硬件设备,使得用户可以通过家用电脑连接银行系统,进行各种普通的银行业务,以弥补传统银行业务中营业网点少和营业时间短的不足。
中国的网上银行起步比较早的是深圳招商银行,他们开发过第一个面向最终用户的网银系统。招行的网络银行有大众版和专业版之分。随着网络的大规模普及,中
国各个银行也都逐步开启自己的网银系统,有些银行的系统仅局 ...
ScaleImage.java import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
//生成等比例高质量缩略图
public class ScaleImage {
private int width;
private int height;
private int scaleWidth;
double support = (double) 3.0;
double PI = (doub ...
netstat -anb
可以看到端口和占用端口的应用程序,所用时间比较长
netstat -a
只查看端口占用情况,速度快
- 浏览: 179328 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
我的相册
b48abcac33f225a880bb1b3a5950b3d5273e6852.jpg
共 10 张
共 10 张
最近加入圈子
最新评论
-
我乐网关停1月套牢2亿风 ...
小姑娘做的flash在56上,自愿被迫去上了几次
-- by trans -
我乐网关停1月套牢2亿风 ...
几乎没上过........ 除非别人发link 自己不会上去找........ ...
-- by ddandyy -
开放的谷歌Android让iPho ...
年前买了nokia的股票损失惨重, 巴不得这丫的死悄悄呢!
-- by lordhong -
开放的谷歌Android让iPho ...
nokia收购symbian公司,并把symbian操作系统免费开源。 最新s6 ...
-- by canco -
开放的谷歌Android让iPho ...
说来还是NOKIA流年不利,今年被三个重量级对手围攻: Apple, googl ...
-- by rtdb






评论排行榜