随笔分类 -  加解密&算法

摘要:请看代码。 1 package jdbc.pro.lin; 2 3 import java.security.InvalidAlgorithmParameterException; 4 import java.security.InvalidKeyException; 5 import java.s 阅读全文
posted @ 2016-02-24 12:14 jack_ou 阅读(2798) 评论(0) 推荐(0) 编辑
摘要:请查看:http://blog.csdn.net/zhanghao_hulk/article/details/35372571#t13 阅读全文
posted @ 2015-11-10 23:12 jack_ou 阅读(361) 评论(0) 推荐(0) 编辑
摘要:首先实现一个自己的ClassLoader,该ClassLoader重写findClass方法。 从classpath中加载类资源。注意,不要重写loadClass方法。 因为在使用自定义的MyClassLoader加载Person类的时候 。 Person类中需要依赖的其他对象, 都会默认使用MyC... 阅读全文
posted @ 2015-10-15 13:41 jack_ou 阅读(1185) 评论(0) 推荐(0) 编辑
摘要:一. AES对称加密: AES加密 分组二.分组密码的填充分组密码的填充e.g.: PKCS#5填充方式三.流密码:四.分组密码加密中的四种模式:3.1 ECB模式优点:1.简单;2.有利于并行计算;3.误差不会被传送;缺点:1.不能隐藏明文的模式;2.可能对明文进行主动攻击;3.2 CBC模式:优... 阅读全文
posted @ 2015-08-05 10:36 jack_ou 阅读(634) 评论(0) 推荐(0) 编辑
摘要://直接上代码: public static void main(String[] args) { List list = new Vector(20); for (int i = 0; i reList = new Vector(20); for (i... 阅读全文
posted @ 2015-07-25 23:27 jack_ou 阅读(820) 评论(0) 推荐(0) 编辑
摘要:排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序: 直接插入排序(稳定) 二分法插入排序(稳定) 希尔排... 阅读全文
posted @ 2015-07-07 22:06 jack_ou 阅读(569) 评论(0) 推荐(0) 编辑
摘要:算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构... 阅读全文
posted @ 2015-06-17 16:48 jack_ou 阅读(481) 评论(0) 推荐(0) 编辑
摘要:我们先来了解一下什么理HTTPS1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL... 阅读全文
posted @ 2015-02-10 14:27 jack_ou 阅读(3107) 评论(0) 推荐(0) 编辑
摘要:这个算法简单,而且效率高,每次可以操作8个字节的数据,加密解密的KEY为16字节,即包含4个int数据的int型数组,加密轮数应为8的倍数,一般比较常用的轮数为64,32,16,推荐用64轮.源代码如下:/** *//*** Tea算法* 每次操作可以处理8个字节数据* KEY为16字节,应为包含... 阅读全文
posted @ 2014-07-29 09:02 jack_ou 阅读(3256) 评论(0) 推荐(0) 编辑
摘要:【IT168 技术文档】 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD。因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用Java Obfuscator(Java混淆器)保护Java的类文件。 Java Obfusca... 阅读全文
posted @ 2014-05-28 18:15 jack_ou 阅读(1707) 评论(2) 推荐(1) 编辑
摘要:package util;import java.security.SecureRandom;import javax.crypto.spec.DESKeySpec;import javax.crypto.SecretKeyFactory;import javax.crypto.SecretKey;... 阅读全文
posted @ 2014-05-08 13:26 jack_ou 阅读(142375) 评论(5) 推荐(8) 编辑
该文被密码保护。
posted @ 2014-05-06 20:48 jack_ou 阅读(10) 评论(0) 推荐(0) 编辑
摘要:从头到尾保护 JAVA目前关于 JAVA 程序的加密方式不外乎 JAVA 模糊处理(Obfuscator)和运用 ClassLoader 方法进行加密处理这两种方式(其他的方式亦有,但大多是这两种的延伸和变异)。这两种方式不管给 JAVA 反编译器造成多少困难, 毕竟还是有迹可寻,有机可乘的。本文介... 阅读全文
posted @ 2014-05-06 20:41 jack_ou 阅读(812) 评论(0) 推荐(0) 编辑
摘要:简述众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll(windows下,以下皆以windows平台为例,linux下和solaris下其实类似,为:libjvm.so),这个动态连接库才是java虚拟机的实际操作处理... 阅读全文
posted @ 2014-05-06 20:40 jack_ou 阅读(2120) 评论(0) 推荐(1) 编辑
摘要:本文介绍了一个利用类库加载器ClassLoader 实现在运行时刻更新部分功能模块的Java程序,并将其与C/C++中实现同样功能的动态链接库方案进行了简单比较。 介绍 在嵌入式系统的设计中,经常涉及到在运行时刻更新部分功能模块的设计。例如一个用于数据采集与处理的设备,包括数据采集,数据发送,命令接收等功能模块,有可能被要求在继续进行数据采集的同时采用新的数据格式向一个新的数据处理系统发送数据。在这种情况下,就必须在运行时刻动态的更新数据发送的功能模块。 在C/C++中,这样的功能可以很容易的利用动态链接库来实现。Win32 API函数LoadLibrary和FreeLibra... 阅读全文
posted @ 2013-12-06 13:37 jack_ou 阅读(351) 评论(0) 推荐(0) 编辑
摘要:为什么要加密?对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以。遗憾的是,Java程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。Java的灵活性使得源代码很容易被窃取,但与此同时,它也使通过加密保护代码变得相对容易,我们唯一需要了解的就是Java的ClassLoader对象。当然,在加密过程中,有关Java Cryptography Extension(JCE)的知识也是必不可少的。有几种技术可以“模糊”Java类文件,使得反编译器处理类文件的效果大打折扣。然而,修改反编译器使之能够处理这些经过模糊处理的类文件并不是什么难 阅读全文
posted @ 2013-12-05 19:50 jack_ou 阅读(1076) 评论(0) 推荐(0) 编辑
摘要:利用JNI对bytecode加密.不影响java程序员的正常开发。09年的时候写的,现在拿出来晒晒————————————————————————————混淆才是王道,如果混淆再加密就更酷了....————————————————————————————一、环境a)Windows_xp_Sp2_Enb)JavaSe_1.6c)Eeclipse.buildId_M20090917-0800d)Tomcat_6.02e)VS2008_Sp1二、JAVA程序加密关键点:1、ClassLoader的自定义代码:publicclassMyClassLoaderextendsClassLoader{/** 阅读全文
posted @ 2013-12-05 15:59 jack_ou 阅读(11153) 评论(0) 推荐(0) 编辑
摘要:一、首先要在浏览器打开需要证书的网站,然后把证书下载下来,保存的证书名称随意命名,只要保证唯一性(这个唯一性下文有解释)二、然后把证书复制到%JAVA_HOME%/jre/bin/路径下,即保证证书与keytool.exe文件同目录(其实不同也行,但是执行命令时需要指定路径)三、导入过程如下:复制完... 阅读全文
posted @ 2013-09-23 11:19 jack_ou 阅读(38735) 评论(0) 推荐(4) 编辑
摘要:package abchat.org.security;import java.security.*;import javax.crypto.*;import javax.crypto.spec.*;/**** @author GuoXiaoHe*/public class ABchatRSA { /** Creates a new instance of ABchatRSA */ /*构建需要的函数变量*/ private KeyPairGenerator kePaGen=null; //秘密钥匙生成器; private KeyPair keyPair=null; //钥匙对,公尺 和米尺. 阅读全文
posted @ 2013-04-02 11:26 jack_ou 阅读(656) 评论(0) 推荐(0) 编辑
摘要:这几天一直做安全登录,网上查了好多资料,不尽如意。具体实现思路如下:1。服务端生成公钥与私钥,保存。2。客户端在请求到登录页面后,随机生成一字符串。3。后此随机字符串作为密钥加密密码,再用从服务端获取到的公钥加密生成的随机字符串。4。将此两段密文传入服务端,服务端用私钥解出随机字符串,再用此私钥解出加密的密文。这其中有一个关键是解决服务端的公钥,传入客户端,客户端用此公钥加密字符串后,后又能在服务端用私钥解出。此文即为实现此步而作。加密算法为RSA:1。服务端的RSA java实现。Java代码 /** * */packagecom.sunsoft.struts.util; importjav 阅读全文
posted @ 2013-04-02 10:21 jack_ou 阅读(1605) 评论(0) 推荐(0) 编辑