数字加密
开心乐源
十余年的c/c++语言程序开发经验,从事过证券行情软件开发,人工智能项目工程化,区块链智能合约开发。熟悉多种开发环境,熟悉常见的网络协议,热衷于区块链/人工智能/互联网金融等领域产品开发,希望计算机技术可以更好的服务社会,如果有机会也愿意从事计算机项目管理类工作。乐于学习新知识新技术,不局限于使用一项技术,更注重了解技术背后的原理。
展开
-
【以太坊】Debugging Ethereum-cpp
Source $git clone –recursive https://github.com/ethereum/cpp-ethereumDepends $ cd cpp-ethereum $ sh scripts/install_deps.shBuildNOTE: remove GUI, MINIUPNPC, VMJIT, TESTS etc. from CMakeLis原创 2016-08-31 14:46:10 · 6124 阅读 · 2 评论 -
【BitMail】A Peer-to-Peer Instant Messenger Client
BitMail: a Peer-to-Peer Instant Messenger Client.原创 2016-06-22 11:07:38 · 693 阅读 · 0 评论 -
【OpenSSL】SMIME Group Message
IntroductionHere GroupMessage means that a message is sent to a group of recipients.原创 2016-04-28 10:07:01 · 856 阅读 · 0 评论 -
【OpenSSL】base64 with BIO filter
IntroductionThere are many ways to do base64 encoding/decoding in OpenSSL, Here are some demos code with BIO filter. Other ways, e.g. EVP_* will be introduced later Base64 with EVP.Encodestd::string原创 2016-04-28 09:18:02 · 766 阅读 · 0 评论 -
【OpenSSL】base64 with EVP codecs
IntroductionHere are some deoms code of Base64 encoding/decoding with EVP_Encode/EVP_Decode.Encodebool Base64Encode(const std::vector<unsigned char > & vchInput, std::string & b64str){ EVP_ENCOD原创 2016-04-28 09:25:05 · 1750 阅读 · 0 评论 -
【OpenSSL】使用证书和私钥导出P12格式个人证书
参考上文【OpenSSL】创建证书1, 产生CA证书1.1, 生成ca的私钥openssl genrsa -out cakey.pem 20481.2, 生成ca的自签名证书请求openssl req -new -key cakey.pem -subj "/CN=Example Root CA" -out cacsr.pem 1.3, 自签名ca的证书openssl x509 -req -in ...原创 2015-02-16 11:27:21 · 16247 阅读 · 0 评论 -
以太坊 - Whisper:一个点对点的隐秘消息传输网络
https://github.com/ethereum/go-ethereum/wiki/Whisper-OverviewWhisper OverviewWhisper is a pure identity-based messaging system. Whisper provides a simple low-level API without being based upon or ...原创 2018-05-16 08:00:19 · 2714 阅读 · 0 评论 -
【BOP】- Introductions of Blockchain Oriented Programming
Blockchain Oriented Programming原创 2018-04-26 18:12:42 · 411 阅读 · 0 评论 -
makecert 制作数字证书
在MS的SDK6.0中有个证书生成工具makecert.exe, 你可以使用这个工具来生成测试用的证书。 第一步,生成一个自签名的根证书(issuer,签发者)。>makecert -n "CN=Root" -r -sv RootIssuer.pvk RootIssuer.cer 这个时候,会弹出提示框,首先给RootIssuer.pvk文件设置私钥保护口令; 然原创 2009-06-03 20:51:00 · 22706 阅读 · 14 评论 -
【OpenSSL】ssl client
practice of s_client from openssl原创 2015-10-23 14:33:00 · 1328 阅读 · 0 评论 -
HTTPS通信建立过程
参考The First Few Milliseconds of an HTTPS Connection测试环境,server: https://www.google.com.hkclient: ie/win7wireshark 1.10.1表达式: tcp.port==443 && ip.addr=172.194.127.19 && ssl主要步骤:原创 2014-02-08 12:55:18 · 5056 阅读 · 0 评论 -
Diffie-Hellman密钥交换
参考:迪菲-赫尔曼密钥交换密钥交换的过程,是通信双方AB协商一个公共密钥的过程,该过程的输出是一个密钥K,这个密钥K用于接下来的AB间的通信过程的加解密。考虑到因特网可以被窃听,需要一个算法来保护这个协商过程,确保只有AB知道协商的。很自然大家会想到非对称加密机制,实际上DH密钥交换过程确实比RSA算法早。举个例子:A使用一个只有他自己知道的整数Sa,B使用一个原创 2014-02-08 14:19:53 · 3843 阅读 · 0 评论 -
Proof of work - 工作量证明
简述:在垃圾邮件防范和DOS系统中,可能会用到“工作量证明”这个工具。 简而言之,就是一份证明,它能够说明你为此工作了一定量的时间了。当然,这只是对于一方而言的,游戏的另一方应该有一个很简单的办法验证你的答案是否正确。举例子:B给A出了一个难题,或者A自己找来一个难题,A花费了10分钟时间证明一个问题,然后把答案发送给B,B只要1秒钟不到就验证了答案是否正确。原创 2013-04-02 10:36:34 · 4299 阅读 · 0 评论 -
【OpenSSL】Access PEM
Test code#include <stdio.h>#include <stdlib.h>#include <string.h># include <openssl/e_os2.h># include <openssl/bio.h># include <openssl/err.h># include <openssl/bn.h># include <openssl/rsa.h># i原创 2015-04-21 18:10:55 · 1467 阅读 · 3 评论 -
【OpenSSL】Generation of RSA key pair
1. RSA密钥生成1. 测试代码#include <stdio.h>#include <stdlib.h>#include <string.h># include <openssl/bio.h># include <openssl/err.h># include <openssl/bn.h># include <openssl/rsa.h># include <openssl/evp.原创 2015-02-27 15:11:56 · 1694 阅读 · 0 评论 -
【OpenSSL】Memory BIO
Test code#include <stdio.h>#include <stdlib.h>#include <string.h># include <openssl/e_os2.h># include <openssl/bio.h># include <openssl/err.h># include <openssl/bn.h># include <openssl/rsa.h># i原创 2015-04-21 18:12:53 · 1721 阅读 · 0 评论 -
【OpenSSL】Sign & Verify
Prepare Test dataecho -n "hello world" > msg.txtsign means that encrypt a little data (usually digest of message, not the message itself) with private key. so do NOT sign with a large input, which ma原创 2015-03-26 16:37:38 · 5370 阅读 · 0 评论 -
非对称加解密基础 - RSA算法
公钥和私钥的产生N = 17 * 53 = 901m = (17-1)*(53-1)=832let e=17 // by random d = 49 // because ( d * e ) % m = 1 , that is ( d * 17 ) % 832 = 1公钥(901,17) 私钥(901,49)加密过程int text = 123 (注意,消息原创 2012-01-20 15:08:41 · 4233 阅读 · 0 评论 -
x509证书
http://en.wikipedia.org/wiki/X.509http://blog.csdn.net/wuzh1230/article/details/4240238http://blog.csdn.net/wuzh1230/article/details/7211997证书文件的编码二进制编码 - DER按照x509定义的结构编码结果直接写入二进制文件原创 2013-04-02 14:44:08 · 3257 阅读 · 0 评论 -
【OpenSSL】使用SMIME发送签名和加密邮件
1,通信双方的证书生成openssl genrsa -out cakey.pem 2048openssl req -new -key cakey.pem -subj "/CN=rootca.bitbaba.com" -out cacsr.pemopenssl x509 -req -in cacsr.pem -days 999 -signkey cakey.pem -out cacert原创 2015-02-25 15:48:52 · 9848 阅读 · 1 评论 -
【OpenSSL】为Android系统构建OpenSSL
参考Wiki:http://wiki.openssl.org/index.php/AndroidWhile the Executive Summary provided the whirlwind instructions for building and installing the OpenSSL library, this sections provides detail原创 2015-02-10 13:18:30 · 5990 阅读 · 1 评论 -
【OpenSSL】内存BIO
代码头文件 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <openssl/buffer.h> #include <openssl/bio.h>#记得包含openssl/buffer.h,否则BUF_MEM定义未知测试代码int main(int argc, char *原创 2015-02-25 17:36:10 · 1063 阅读 · 0 评论 -
文件加密工具
一个集成在Windows资源管理器右键菜单里面的工具,类似于WinRAR,可以对选中的文件或者文件夹进行加密。加密算法,由Windows的CryptoAPI提供。另外还附带了一个hash菜单,可以对选中的文件计算hash值,hash算法使用openssl的MD5-128。 下面的地址可以下载这个工具:http://sourceforge.net/projects/easycrypt原创 2009-06-08 09:18:00 · 1694 阅读 · 2 评论