POCO库——Foundation组件之加解密Crypt

加解密Crypt:内部提供多种加解密方式、信息摘要提取、随机数产生等,具体的算法内部实现不做研究学习;

DigestEngine.h :DigestEngine类作为各种摘要提取的基类,提供必要的接口;update:参数为提供将被提取的数据信息,digest:获取信息摘要,digestLength:获取信息摘要的长度;
reset:重置将被提取的数据信息以重新产生信息摘要计算,digestToHex与digestFromHex:信息摘要与十六进制数据串相互转化,updateImpl:更新数据信息,提取该信息摘要,由子类
实现具体的提取过程;

MD4Engine.h/MD5Engine.h :MD4Engine/MD5Engine类分别为MD4、MD5信息摘要算法,以测试信息完整性的密码散列函数,摘要长度128位(16字节),一般以32位的十六进制表示;

SHA1Engine.h :SHA1Engine类为SHA1信息摘要算法,摘要长度为位160位(20字节),一般以40位的十六进制表示;

HMACEngine.h/PBKDF2Engine.h :HMACEngine、PBKDF2Engine类继承于DigestEngine类,采用模板参数的形式,传入MD4Engine/MD5Engine/SHA1Engine作为基础摘要生成引擎,而一般情况下
,PBKDF2Engine又以HMACEngine作为模板参数封装;

Random.h :伪随机数生成器;基于FreeBSD中的random number generator实现,目前提供了5种生成器;

时间: 2024-08-05 12:01:32

POCO库——Foundation组件之加解密Crypt的相关文章

POCO库——Foundation组件概述

Foundation组件作为POCO库的基础组件,主要包含了核心Core.缓存Cache.加解密Crypt.日期时间DateTime.动态类型Dynamic.事件events.文件系统Filesystem.哈希Hashing.日志Logging.通告机制Notifications.进程Processes.正则表达式RegularExpression.共享库SharedLibrary.数据流Streams.任务管理Tasks.文本编码Text.线程Threading.统一资源标识符URI.通用唯一

POCO库——Foundation组件之核心Core

核心Core: Version.h:版本控制信息,宏POCO_VERSION,值格式采用0xAABBCCDD,分别代表主版本.次版本.补丁版本.预发布版本: Poco.h:简单地包含了头文件Foundation.h: Foundation.h:使用其他任何Foundation模块前需要包含的头文件,主要定义库导出宏POCO_DLL.Foundation_API以及自动连接相应配置正确的库引用文件lib:包含库配置文件Config.h: 平台相关的Platform.h以及各个平台相应的文件Plat

POCO库——Foundation组件之缓存Cache

缓存Cache:内部提供多种缓存Cache机制,并对不同机制的管理缓存策略不同实现: ValidArgs.h :ValidArgs有效键参数类,模板参数实现,_key:键,_isValid:是否有效,此外提供key获取键.isValid是否键有效,invalidate使得键值无效:默认情况下键为有效: KeyValueArgs.h :KeyValueArgs键值参数对类,模板参数实现,_key:键,_value:键值:此外提供key获取键,value获取键值: EventArgs.h :事件参数

curses-键盘编码-openssl加解密【转】

本文转载自;https://zhuanlan.zhihu.com/p/26164115 1.1 键盘编码 按键过程:当用户按下某个键时, 1.键盘会检测到这个动作,并通过键盘控制器把扫描码(scan code)传送到计算机:键盘扫描码跟具体的硬件有关的,不同厂商对同一个键的扫描码有可能不同.2.计算机接收到扫描码后,将其交给键盘驱动程序:3.键盘驱动程序把这个扫描码转换为键盘虚拟码:虚拟码与具体硬件无关,不同厂商的键盘,同一个键的虚拟码总是相同的.然后,键盘驱动程序把该键盘操作的扫描码和虚拟码以

C#调用Crypto++库AES ECB加解密

本文章使用上一篇<C#调用C++类库例子>的项目代码作为Demo.本文中,C#将调用C++的Crypto++库,实现AES和ECB加解密. 一.下载Crypto 1.进入Crypto的官网下载openssl.网址是: https://www.cryptopp.com/. 2.点击“DownLoad”,选择最新的可下载的版本即可.此时我下载的是cryptopp820.zip,如下图所示的. 3.解压 cryptopp820.zip. 4.打开cryptopp820文件夹中的cryptest.sl

linux CA 加解密安全过程讲解

一.基础知识 对称加密: 加密和解密方使用同一个密钥,用来解决数据机密性,但是密钥通过何种方式传递给对方不容易实现: 公钥加密: 密钥是成对出现的,分别为Secret key(密钥)和Public key(公钥)公钥加密必须使用与其相对应的私钥进行解密并且公钥是从私钥中提取出来的,有私钥可以知道公钥是什么,但是知道公钥是不能知道私钥的,公钥是公开的,而私钥是不公开的,但是公钥加密比对称加密慢3个数量级(1000倍),加密速度相当的慢,所以单独用此加密方式也比较困难:公钥加密功能: 单向加密: 不

[转]PHP,Android,IOS通信之AES128加解密

转自:http://s00s10.blog.163.com/blog/static/43988552201411913011459/ android上使用: mcrypt = new MCrypt(); /* 加密*/ String encrypted = MCrypt.bytesToHex( mcrypt.encrypt("需加密的字符") ); /* 解密*/ String decrypted = new String( mcrypt.decrypt( encrypted ) );

加解密基础

加密解密相关概念 互联网上中间人攻击通常用的三种方式:1)窃听 2)数据篡改 3)会话劫持 密码算法协议的分类: a)  对称加密 常用的有:DES.3DES.AES.Blowfish.RC6.CAST5等 特性:1.加密.解密使用同一个密钥. 2.将原始数据分割成固定大小的块,逐个进行加密. 3.加解密速度快,密钥短. b)  非对称加密(公钥加密) 常用的有:RSA.DSA.DH 特性: 1.用公钥加密的数据,只能使用与之配对儿的私钥解密:反之亦然. 2.公钥公开给所有人,私钥自己留存,必须

eos中签名验签流程和eosjs中的加解密原理

关键词:eos 签名 验签 ecc dsa 加密 解密 eosjs aes 本文主要探讨两方面 1.eosjs中用密钥对进行加解密功能 2.eos中密钥对生成,签名和验签过程(私钥签名 公钥验签) 常用的加密算法 对称性加密算法 对称式加密就是加密和解密使用同一个密钥,信息接收双方都需事先知道密匙和加解密算法,之后便是对数据进行加解密了.对称加密算法用来对敏感数据等信息进行加密. 对称性加密算法有:AES.DES.3DES DES(Data EncryptionStandard):数据加密标准,