自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 RSA JAVA 版本

这里给出RSA的加密解密代码,DSA的加解密代码请查阅我整理的安全文档电子书package base_crypt;import java.math.BigInteger;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.secur

2015-03-11 14:42:38 719

原创 单向哈希函数 JAVA版本

这里只给出MD5的代码,其他SHA等请查看发布的电子书package base_crypt;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class base_md5 { public static byte[] md5_hash(byte[

2015-03-11 14:41:16 592

原创 3DES JAVA平台版

对数据安全方面的介绍在本博客也很多了,这里就不再累赘,直接上代码:package base_crypt;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmExcep

2015-03-11 14:36:55 531

原创 DES JAVA平台版本

本来JAVA的加密解密代码在年前就已经完成了,可惜年前比较忙,没来得及放上来,现在把整理过的代码都放上来,有需要的赶紧来看把。package base_crypt;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java

2015-03-11 14:32:25 444

原创 AES JAVA平台版

废话不多说了,请看代码把。package base_crypt;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import javax.

2015-03-11 14:30:05 470

原创 openssl DH密钥协商

本文将介绍在通信时经常需要使用到的动态密钥协商,之所以需要使用动态密钥,主要增加数据的安全性,即使个别密码会被破译,但是不会影响到其他通信数据的安全。本节中还是跟前面一样,使用openssl/crypt库来进行DH密钥交换的模拟,如果在你的项目中需要用到DH密钥交换,你可以对下面的流程进行整理,然后运用到项目中,需要说明的是openssl跟JAVA/.NET平台进行密钥交换时,可能会出

2015-02-13 17:14:06 5300 3

原创 openssl DSA 数字签名与签名验证

与RSA不同,DSA的主要功能是做数字签名与签名验证。DSA不具备对数据进行加密解密的功能,因此在使用上面请注意。往往有很多使用者误认为非对称加密算法都可以对数据进行加解密处理,其实不然,DSA就是一个很好的例子。使用C/C++ 调用openssl/crypt库进行DSA测试,代码如下:/* gcc -o test test_dsa.c ../../libcrypto.a

2015-02-12 11:45:26 2879

原创 openssl RSA 非对称加解密

一直在研究数据加密与解密,一直都没有好好的整理过这些知识,趁现在有时间,稍加整理,以便更多的人知道如何去加解密数据,少走弯路。相关的整理文档可能后续会以电子版pdf的形式发出来。非对称加密算法安全性确实相对更高,但同样效率/速度也更低一些,毕竟非对称加密的计算量更大。RSA是目前使用最广的一种非对称加密算法,既可以对数据进行加密解密,也可以对数据进行签名验证。使

2015-02-12 11:31:40 1454

原创 openssl 哈希算法 实战 MD5/SHA系列/DSS/RIPEMD160

前面介绍了openssl 常见的几种对称加密算法的调用方法,这里继续研究一下openssl的单项哈希函数,EVP对加密算法进行了很好的封装,提供了简单易用的调用端口,使用非常方便。在开头需要说明的一点是,随着计算机计算能力的提升,破解MD5变得门槛越来越低。因此很多文章说SHA更加安全,原因主要是SHA的哈希值更长。但如果使用穷举破解时,需要遍历原数据的空间,如果MD5与SHA的计

2015-02-12 11:13:44 2484

原创 openssl blowfish 加密解密

前面对AES的使用进行了研究,这一节,介绍Blowfish,Blowfish也是一种对称加密算法,采用分组加密的模式。C/C++采用openssl/crypt库调用,过程比较简单,直接看下面代码:#include #include "evp.h" #define BREAK_ERROR(msg){\ fprintf(stderr,"error break [%s]\

2015-02-12 10:04:41 1895

原创 openssl aes 高级加解密

上一篇博客写了openssl des加密解密的调用方法,这一篇继续上一篇的openssl探索。由于DES已经被破解过,因此在某些安全级别高的信息加密上需要更加安全的加密算法,这就诞生了AES(高级加解密),AES是从多种加密算法选出来一种算法(Rijndael)作为AES加密标准的加密算法。其实严格准确点来说AES应该是一个加密标准,而习惯上我们认为AES就标准使用的加密算法(Rijndael

2015-02-12 09:38:15 926

原创 openssl des 加密解密

最近在整理关于数据加密解密的资料,整合C/C++、.NET、JAVA三个平台的数据加解密资料,使得三个平台调用相关函数加解密得到的结果都是一致的,兼容的。ps:最后整理的资料可能会以电子版pdf的形式发出来,如果对您有益,请关注一下。C/C++是直接使用openssl库的crypte模块进行数据加解密的,下面介绍一下openssl/crypt调用DES进行加解密的过程。代码很容易理

2015-02-12 09:21:01 4678

原创 openssl 调用实例

openssl C/C++ SSL安全套接层SOCKET示例,各个API功能详见OPENSSL官方文档。客户端:/* g++ -o client ssl_client.cpp -lssl -lcrypt */#include #include #include #include #include #include #include // openssl heade

2015-02-09 15:28:14 938

原创 openssl 自建CA,并签发证书

第一部分:自建CA注:为了更好管理自建CA,在下文中,为没有特殊说明的情况,CA根目录都是指的自建CA的根目录。1. 创建CA根目录,并初始化一些文件:mkdir $HOME/mycacd $HOME/mycamkdir certs private confecho "01" > serialecho "" > index.txtcat > conf/gen_

2015-02-09 09:21:08 1255

原创 ZLIB 1.2.8 压缩整理

压缩过程:1. 初始化压缩结构体:defalteInit()初始化strm。2. 配置strm.avail_in,strm.next_in,strm.avail_out,strm.next_out四个值,然后调用deflate进行压缩,需要注意的是,每次调用deflate之前,strm.avail_out需要大于0,即每次调用都需要保证有足够的输出缓冲区,最好等于输入缓冲长。如果没有更多的输入,则flush值为z_FINISH,否则为z_NO_FLUSH.调用之后,需要把输出的数据拷贝到其他的缓冲区中去

2015-01-31 14:10:53 652

原创 BASE64编码 C实现

BASE64编码可以看作是一种数据可视化的编码集,也可以看作是一种简单的数据加密处理。即展现出数据编码的思路,也满足了数据可视化的要求。同时展现出一种简单的数据加密方法。在处理很多数据缓冲区的时候,对于不可见字符,都比较头疼,不知道这些不可见字符到底是什么,即使是比对他们的ASSCII,也比较麻烦,需要中断或者调试或者修改代码等到。所以很多时候会将这些不可见字符转换为可视化的串,从而检

2015-01-30 14:28:05 678

原创 浮点数精度整理

浮点数存在精度问题主要是由于小数二进制化的逻辑与整数二进制化不一样。整数二进制化:除二取余。如:7的二进制为:00000111。小数二进制化:乘二取整数。如:0.75的二进制为:0.11 即 0.75 = 0.5+0.25 = 2^(-1) + 2^(-2) 由此,浮点数7.75的二进制形式为:111.11。IEEE浮点结构:

2015-01-30 11:25:54 723

原创 字节序整理

字节序即字节顺序,一般都是针对多字节数据类型而言。一般宽字节指int 或者double等非char类型。分类:1. 大端序。2. 小端序。3. 混合序。大端序:数值的高位放在内存地址的低位,数值的其他低位依次放在内存地址的后续(地址增加)位置上。代表:power_pc小端序:与大端序相反,数值的低位放在内存的低位,数值的后续高位一次放在内

2015-01-30 10:03:52 481

原创 PHP 基础整理

1. 变量:1. 以$开头,后接变量名。2. 变量可以使用英文字符,数字下划线,需要用字母或下划线开头。3. 松散数据类型,不需要事先声明(强类型需要先声明再使用)。4. 大小写敏感。2. 变量类型:局部变量:默认全局变量:在内有效。静态变量:一直有效。3. 数据输出: echo "str1","str2","str3". //可同时

2015-01-29 19:45:04 400

原创 bzip数据压缩 C调用

bzip官网:http://www.bzip.org/  有源码及英文文档。官网的英文文档比较齐全,可就是没有找到类似的demo代码,没办法,只能结合已有的官方文档,自己摸索了。由于需要对内存的数据进行加压解压处理,因此调用的是bzip提供的低级接口:typedef struct { char *next_in; // 输入指针 unsigned in

2015-01-29 14:27:59 1073

原创 think3.2.3 总结1

1. 开启调试模式:2. 数据模型异常:3. where条件使用:4. 使用非默认模版:5. 构造函数/初始化函数:6. 继承处理:7. 模版继承:8. 公共提示页面:9. redirect重定向:

2015-01-29 09:25:40 617

转载 php ckeditor 添加上传功能

添加上传功能步骤:1. 打开上传功能开关。2. 添加/修改上传URL。3. 添加后台处理文件上传的function。下面开始进行具体操作:1. 打开上传功能开关:a. 打开文件 ckeditor\plugins\image\dialogs\image.js b. 查找“Upload, 找到类似 ”id:"Upload",hidden:!0 的地方,将hi

2015-01-28 16:50:31 536

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除