- 浏览: 7854 次
- 性别:
- 来自: 北京
最新评论
文章列表
项目中用到了一些加密的算法,算法不太好,但是基于这些都是常用的加密算法,于是记录一下。不写具体原理了,在末尾加入一些链接,别人写的,写的很不错,把原理写的都特别清楚。
根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
对称加密算法不能实现签名,因此签名只能非对称算法。
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
在实际的操作过程中,我们通常采用的方式是:采用非对称加密算
Mongodb 入门
- 博客分类:
- Mongodb
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
1. 下载mongodb的包
可以去www.mongodb.org下载对应系统的包,我下载的是mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz.
2. 解压
tar zxf mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz
mv mongodb-linux-x86_64-ubuntu1404-3.2.0 /usr/local/mongodb
3. 新建data文件(用于存放数据)和log文件
mkdir data
touch logs
4. 启动
1)命令直接启动
在ubuntu英文系统中,自带的ibus不能输出中文,可以自己添加fcitx.添加完毕后,在language support中将key board input system选项改为fcitx.
1. JDK
第一步:添加 PPA repository 到系统 $ sudo add-apt-repository ppa:webupd8team/java 第二步:更新 $ sudo apt-get update 第三步:下载安装 JDK $ sudo apt-get install oracle-java8-installer 这里安装的是 JDK8, ...
Git是常用的版本管理工具,功能强大。自己使用的不是很多,把常用的一些命令记录下来,以便日后使用。
1. 查看本地的远程仓库
git remote -v
2. 克隆远程仓库
git clone git@com.sample.net:TLS/gdl.git(你的git地址)
3. 查看当前状态
git status
4. 提交文件
git commit -a -m '注释'
5. 查看提交的历史
git log
6. 添加远程仓库
git remote add pb(此处是你想用的名字代表远程仓库[remote-name] ...
内部类共分为4种:
1) 静态内部类
只能访问外部类的静态成员变量与静态方法,生成静态内部类对象的方式为:
OuterClass.InnerClass inner = new OuterClass.InnerClass();
2) 成员内部类
可以访问外部累的静态与非静态的方法与成员变量。生成成员内部类对象的方式为:
OuterClass.InnerClass inner = new OuterClass().new InnerClass();
3) 局部内部类
定义在方法当中,只能访问方法中的声明的final类型的变量。
若想在局部内部类中访问外部类的成员变量,语法为:Ou ...
java基础(十三)反射
- 博客分类:
- java基础
动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。
Java 反射机制主要提供了以下功能
• 在运行时判断任意一个对象所属的类。
• 在运行时构造任意一个类的对象。
• 在运行时判断任意一个类所具有的成员变量和方法。
• 在运行时调用任意一个对象的方法
Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection
APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、sup ...
java基础(十二)jdk1.5 新特性
- 博客分类:
- java基础
jdk5.0中出现的新特性
• 泛型(Generics)
• 增强的“for”循环(Enhanced For loop)
• 自动装箱/自动拆箱(Autoboxing/unboxing)
• 类型安全的枚举(Type safe enums)
• 静态导入(Static import)
• 可变参数(Var args)
(一)泛型
泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastExceptions的可能。
1) 简单泛型类的定义
public class Pa ...
java基础(十一)HashSet
- 博客分类:
- java基础
HashSet扩展AbstractSet并且实现Set接口。它创建一个类集,该类集使用散列表进行存储。散列表通过使用称之为散列法的机制来存储信息。在散列(hashing)中,一个关键字的信息内容被用来确定唯一的一个值,称为散列码(hash code ...
java基础(十) HashMap
- 博客分类:
- java基础
除了类集,Java 2还在java.util中增加了映射。映射(map)是一个存储关键字和值的关联或者说是关键字/值对的对象。给定一个关键字,可以得到它的值。关键字和值都是对象。关键字必须是唯一的。但值是可以重复的。有些映射可以接收null关键字和null值,而有的则不行.Map接口
Map接口映射唯一关键字到值。关键字(key)是以后用于检索值的对象。给定一个关键字和一个值,可以存储这个值到一个Map对象中。当这个值被存储以后,就可以使用它的关键字来检索它。当调用的映射中没有项存在时,其中的几种方法会引发一个NoSuchElementException异常。而当对象与映射中的元素不兼容时 ...
再说具体的实现类之前,首先,说一下它们的共同的接口: ListList接口扩展了Collection并声明存储一系列元素的类集的特性。使用一个基于零的下标,元素可以通过它们在列表中的位置被插入和访问。一个列表可以包含重复元素.除 ...
首先,先看一下集合中的大体的一个继承结构。 简单的说,接口Set,List都继承自Collection接口。而Map则不继承。Collection:集合层次中的根接口,JDK没有提供这个接口直接的实现类。Collection接口是构造类集框架的基础。它声明所 ...
算法原理
冒泡排序算法的运作如下:(从后往前)
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的 ...
java基础(七) 数组
- 博客分类:
- java基础
1. 数组(Array):相同类型数据的集合就叫做数组。
2. 如何定义数组。
type[] 变量名 = new type[数组中元素的个数];
可以按照下列方式定义长度为10 的数组:
int[] a = new int[10]; 或者 int a[] = new int[10];
3. 数组中的元素索引是从 0开始的。对于数组来说,最大的索引==数组的长度 – 1。
4. 定义数组的第3 种方式: type[] 变量名 = {new type[]}{逗号分隔的初始化值列表};
5. Java中的每个数组都有一个名为 ...
java基础(六) String
- 博客分类:
- java基础
String是个final类型的类,不可继承。
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence{}
String底层实现是用一个char型的数组实现的。
/** The value is used for character storage. */
private final char value[];
/**
* Initializes a newly created {@c ...