- 博客(61)
- 资源 (9)
- 收藏
- 关注
转载 椭圆曲线算法
一、从平行线谈起 平行线,永不相交。没有人怀疑把:)不过到了近代这个结论遭到了质疑。平行线会不会在很远很远的地方相交了?事实上没有人见到过。所以“平行线,永不相交”只是假设(大家想想初中学习的平行公理,是没有证明的)。既然可以假设平行线永不相交,也可以假设平行线在很远很远的地方相交了。即平行线相交于无穷远点P∞(请大家闭上眼睛,想象一下那个无穷远点P∞,P∞是不是很虚幻,其实与其说数学锻
2014-10-30 09:53:10
11750
2
转载 ElGamal算法
ElGamal算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。密钥对产生办法。首先选择一个素数p,两个随机数, g 和x,g, x < p, 计算 y = g^x ( mod p ),则其公钥为 y, g 和p。私钥是x。g和p可由一组用户共享。ElGamal用于数字签名。被签信息为M,首先选择一个随机数k, k与 p - 1互质,计算 a = g^k
2014-10-29 17:16:17
1606
转载 背包公钥算法
公钥算法之背包算法这是一个非对称算法,即可生成多个不同的公钥,分发给其他人,然后其他人用各自的公钥加密文件,而算法只生成一个私钥(自己保存),这私钥可解密不同公钥加密的文件。在不知道私钥的前提下,破解文件是一个NP难问题。下面贴上高老师的讲义:1.背包算法基于背包问题的简化版,即子集和问题(Subset sum)。2.子集和问题:给定一个整数集A(俗称为背包)和
2014-10-29 17:10:45
4522
转载 SHA1算法详解
1 SHA1算法简介安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程
2014-10-29 15:15:13
1879
转载 SH-A1算法原理
SHA-1看起来和MD5很像(也许是Ron Rivest在SHA-1的设计中起了一定的作用)。SHA-1的内部比MD5更强,其摘要也更长(160比特,而不是128比特),但是长度就看上去更安全。SHA-1成功的经受了密码分析的考验,也因而受到的密码学界的广泛推崇。SHA-1的变体可以产生192比特和256比特的摘要。 以下是可以产生160比特的消息摘要的SHA-1算法,它建立在对比特
2014-10-24 09:48:55
1932
转载 MD5算法原理
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。 MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); 根据128位的输出结果不可能反推出输入的信息(不可逆)
2014-10-24 09:18:09
479
转载 aes加密算法简述
随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES[1]。经过三轮的筛选,比利时Joan Daeman和Vincent Rijmen提交的Rijndael算法被提议为AES的最终算法。此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法
2014-10-23 09:45:17
1427
转载 aes加密算法
加密它:用新的高级加密标准(AES)保持你的数据安全原著:James McCaffrey 翻译:小刀人 原文出处:MSDN Magazine November 2003 (Encrypt It)本文的代码下载:msdnmag200311AES.exe (143KB)本文假设你熟悉 C# 和 位(bit)操作。 摘要 AE
2014-10-23 09:44:31
2587
转载 rsa加密算法
图为 RSA公开密钥算法的发明人,从左到右Ron Rivest, Adi Shamir, Leonard Adleman. 照片摄于1978年 RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧
2014-10-17 14:10:19
771
转载 des加密算法
美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点: ☆提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;☆具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;☆DE
2014-10-17 09:29:04
1037
转载 java动态代理
java动态代理学习笔记博客分类: javaJavaCC++C#Blog 没事的时候翻看lang.reflect包下的代码,发现有两部分内容:涉及反射和动态代理。 很多地方都可以看到动态代理的影子,只是一直没仔细看下。 在学习之前,先提出几个问题,带着问题来看代码: 1.什么是动态代理? 2.为什么使用动态代理? 3.使用它有哪些好处?
2014-09-15 15:49:10
446
转载 volatile
java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchron
2014-09-15 14:23:43
475
转载 java单例模式线程安全
关于单例模式的文章,其实网上早就已经泛滥了。但一个小小的单例,里面却是有着许多的变化。网上的文章大多也是提到了其中的一个或几个点,很少有比较全面且脉络清晰的文章,于是,我便萌生了写这篇文章的念头。企图把这个单例说透,说深入。但愿我不会做的太差。 首先来看一个典型的实现: 1 /** 2 * 基础的单例模式,Lazy模式,非线程安全 3 * 优点:lazy,初次使用时实例化
2014-09-15 14:06:36
3475
转载 java8新特性
推荐:“Java is still not dead—and people are starting to figure that out.”本教程将用带注释的简单代码来描述新特性,你将看不到大片吓人的文字。一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:复制代
2014-09-05 11:15:40
528
转载 正则表达式 贪心量词懒惰量词支配性量词
正则表达式中有三个量词:贪婪、惰性、支配,记录一下我对贪婪和惰性的理解1 贪婪:一下子打算匹配整个字符串,如果发现不匹配,就去掉最后一个字符,进行匹配,以此类推。一旦匹配成功之后,并不是马上返回,而是跳跃到下一个字符的起点,再次开始贪婪的匹配,举个例子: public static void main(String []args) { String str="1abbbaa
2014-09-03 14:01:11
1028
转载 java正则表达式
创建正则表达式你可以从比较简单的东西入手学习正则表达式。要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档。字符B字符B\xhh16进制值0xhh 所表示的字符\uhhhh16进制值0xhhhh 所表示的Unicode字符
2014-09-03 11:07:44
454
转载 java生产者消费者多线程同步
package demo.thread;/** *经典生产者与消费者问题:生产者不断的往仓库中存放产品,消费者从仓库中消费产品。 *其中生产者和消费者都可以有若干个。仓库容量有限,库满时不能存放,库空时不能取产品 */public class ProducersAndConsumers { public static void main(String[] args) { St
2014-09-02 11:29:49
440
转载 BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个
2014-09-02 11:23:40
422
转载 web.xml加载顺序
转自:在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:lis
2014-09-01 15:46:03
426
转载 腾讯20140420实习生笔试
(一)不定项选择题(25*4)1. 使用深度优先算法遍历下图,遍历的顺序为() A ABCDEFG B ABDCFEGC ABDECFG D ABCDFEG 2. 输入序列ABCABC经过栈操作变成ABCCBA,下面哪些是可能的栈操作( )A. push pop push pop push p
2014-09-01 10:58:52
527
原创 [thinking in java]随笔
类中的基础类型会自动初始化为0,而局部变量会随机得到一个数…… 静态方法可针对类调用,毋需一个对象;static关键字的存在:需要一个存储区来保存一个特定的数据(无论创建多少个对象),需要一个特殊的方法(与这个类的任何对象都没有关系)。再不必创建对象钱调用那个方法,如:main()。 import:解决名字冲突的类,指明你用的是哪个类。 逻辑右移“>>”,算术右移“>>>”
2014-05-12 18:15:02
493
原创 最大子数组java实现
{13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7};最大子数组为a[7]~a[10]
2014-04-19 12:04:48
494
转载 算法导论-4-6 VLSI芯片测试
问题:Diogenes 教授有n个被认为是完全相同的VLSI芯片,原则上它们是可以互相测试的.教授的测试装置一次可测试二片,当该装置中放有两片芯片时,每一片就对另一片作 测试并报告其好坏.一个好的芯片总能够正确的报告另一片的好坏,但一个坏的芯片的结果就是不可靠的.这样,每次的测试的四种可能结果如下: a)证明若少于 n/2 的芯片是坏的,在这种成对测试方式下,使用任何策略都不能确定哪个芯
2014-04-19 11:16:03
801
原创 Strassen矩阵算法java实现
首先,我们还是需要假设n是2的幂。将矩阵A,B和C中每一矩阵都分块成为4个大小相等的子矩阵,每个子矩阵都是n/2×n/2的方阵。由此可将方程C=AB重写为:
2014-04-19 10:25:51
1055
原创 八皇后java实现
在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。答案是:92种。
2014-04-12 11:46:55
733
转载 耦合和内聚
1.什么是内聚?什么是耦合?内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。2.内聚分为哪几类?耦合分为哪几类?内聚有如下的种类,它们之间的内聚度由弱到强排列如下:(1)偶然内聚。模块中的代码无法定义其不同
2014-04-07 18:31:55
756
转载 [thinking in java]对象保存到什么地方
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。(2) 堆栈。驻留于常规RAM(随机访问存储器)区
2014-04-04 17:43:18
424
原创 Command设计模式
Receiver类do(){}undo(){}ConcreteCommand类构造函数public ConcreteCommand(Receiver rec){this.rec = rec;}public bool do(){return rec.do();}public bool undo(){return rec.undo();}
2014-04-01 22:44:44
425
原创 observer 设计模式
Subject类register(Observer o){observerList.add(o);}remove(Observer o){observerList.remove(o);}setData(state){this.state = state;notify();}getData(){return state;}notify(){
2014-04-01 22:19:11
426
原创 java clone()
----------------------------------------我是小小分割线-------------------------------- Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应
2014-03-27 12:37:12
415
转载 java多线程
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。对于直接继承Thread的类来说,代码大致框架是:?123456789101112class 类名 extendsThread{方法1;方法2;…public void run
2014-03-24 22:09:31
504
转载 java Long long
在Java中执行如下的代码:long number = 26012402244; 编译的时候会出现一个错误,提示“过大的整数: 32322355744”,如果在Eclipse中书写上面的代码,提示的是“The literal 26012402244 of type int is out of range”。可以看出,在Java代码中直接书写的数字是int类型的,就是说数字
2014-03-24 21:35:37
5692
转载 java collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比
2014-03-23 22:26:47
395
转载 POJO
本文转载自百度文库,详细出处请参考: http://wenku.baidu.com/view/4a9ad533ee06eff9aef80765.html我认为写的很准确,很抱歉没有找到作者的名字! POJO(Plain Old Java Object)这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次
2014-03-21 12:27:40
533
转载 String、StringBuffer、StringBuilder
在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是
2014-03-17 22:19:12
478
转载 Java 序列化
Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。序列化的必要性Jav
2014-03-17 21:55:47
445
Abstract data types and Software Validation
2013-11-02
What Constitutes Good Design- A Review of Empirical Studies of Design Processes
2013-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人