数据安全
文章平均质量分 76
天_剑
这个作者很懒,什么都没留下…
展开
-
BASE64编码 C实现
BASE64编码可以看作是一种数据可视化的编码集,也可以看作是一种简单的数据加密处理。即展现出数据编码的思路,也满足了数据可视化的要求。同时展现出一种简单的数据加密方法。在处理很多数据缓冲区的时候,对于不可见字符,都比较头疼,不知道这些不可见字符到底是什么,即使是比对他们的ASSCII,也比较麻烦,需要中断或者调试或者修改代码等到。所以很多时候会将这些不可见字符转换为可视化的串,从而检原创 2015-01-30 14:28:05 · 752 阅读 · 0 评论 -
DES JAVA平台版本
本来JAVA的加密解密代码在年前就已经完成了,可惜年前比较忙,没来得及放上来,现在把整理过的代码都放上来,有需要的赶紧来看把。package base_crypt;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java原创 2015-03-11 14:32:25 · 455 阅读 · 0 评论 -
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 · 733 阅读 · 0 评论 -
单向哈希函数 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 · 610 阅读 · 0 评论 -
3DES JAVA平台版
对数据安全方面的介绍在本博客也很多了,这里就不再累赘,直接上代码:package base_crypt;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmExcep原创 2015-03-11 14:36:55 · 540 阅读 · 0 评论 -
openssl DH密钥协商
本文将介绍在通信时经常需要使用到的动态密钥协商,之所以需要使用动态密钥,主要增加数据的安全性,即使个别密码会被破译,但是不会影响到其他通信数据的安全。本节中还是跟前面一样,使用openssl/crypt库来进行DH密钥交换的模拟,如果在你的项目中需要用到DH密钥交换,你可以对下面的流程进行整理,然后运用到项目中,需要说明的是openssl跟JAVA/.NET平台进行密钥交换时,可能会出原创 2015-02-13 17:14:06 · 5407 阅读 · 3 评论 -
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 · 1939 阅读 · 0 评论 -
openssl des 加密解密
最近在整理关于数据加密解密的资料,整合C/C++、.NET、JAVA三个平台的数据加解密资料,使得三个平台调用相关函数加解密得到的结果都是一致的,兼容的。ps:最后整理的资料可能会以电子版pdf的形式发出来,如果对您有益,请关注一下。C/C++是直接使用openssl库的crypte模块进行数据加解密的,下面介绍一下openssl/crypt调用DES进行加解密的过程。代码很容易理原创 2015-02-12 09:21:01 · 4719 阅读 · 0 评论 -
openssl aes 高级加解密
上一篇博客写了openssl des加密解密的调用方法,这一篇继续上一篇的openssl探索。由于DES已经被破解过,因此在某些安全级别高的信息加密上需要更加安全的加密算法,这就诞生了AES(高级加解密),AES是从多种加密算法选出来一种算法(Rijndael)作为AES加密标准的加密算法。其实严格准确点来说AES应该是一个加密标准,而习惯上我们认为AES就标准使用的加密算法(Rijndael原创 2015-02-12 09:38:15 · 946 阅读 · 0 评论 -
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 · 2957 阅读 · 0 评论 -
openssl RSA 非对称加解密
一直在研究数据加密与解密,一直都没有好好的整理过这些知识,趁现在有时间,稍加整理,以便更多的人知道如何去加解密数据,少走弯路。相关的整理文档可能后续会以电子版pdf的形式发出来。非对称加密算法安全性确实相对更高,但同样效率/速度也更低一些,毕竟非对称加密的计算量更大。RSA是目前使用最广的一种非对称加密算法,既可以对数据进行加密解密,也可以对数据进行签名验证。使原创 2015-02-12 11:31:40 · 1469 阅读 · 0 评论 -
openssl 哈希算法 实战 MD5/SHA系列/DSS/RIPEMD160
前面介绍了openssl 常见的几种对称加密算法的调用方法,这里继续研究一下openssl的单项哈希函数,EVP对加密算法进行了很好的封装,提供了简单易用的调用端口,使用非常方便。在开头需要说明的一点是,随着计算机计算能力的提升,破解MD5变得门槛越来越低。因此很多文章说SHA更加安全,原因主要是SHA的哈希值更长。但如果使用穷举破解时,需要遍历原数据的空间,如果MD5与SHA的计原创 2015-02-12 11:13:44 · 2537 阅读 · 0 评论 -
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 · 973 阅读 · 0 评论 -
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 · 1281 阅读 · 0 评论 -
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 · 485 阅读 · 0 评论