尹成的技术博客

尹成大魔王区块链与人工智能的技术分享

vc++网络安全编程范例(21)用CryptoAPI进行数据加密

由于过于复杂的加密算法实现起来非常困难,所以在过去,许多应用程序只能使用非常简单的加密技术,这样做的结果就是加密的数据很容易被人破译。而使用Microsoft提供的加密应用程序接口(即Cryptography API),或称CryptoAPI,可以方便地在应用程序中加入强大的加密功能,而不必考虑基...

2011-12-17 21:51:18

阅读数:3964

评论数:0

vc++网络安全编程范例(20)木马防范检测数据端口与进程

我们进行系统安防的时候,需要防范木马,木马的存在就有网络连接,我们检测数据端口与进程的模式来防范木马。我们来用VC++实现检测数据端口与进程,请见代码实现与注释讲解#include #include #include #include #pragma comment(lib, "...

2011-12-17 19:32:24

阅读数:3236

评论数:1

vc++网络安全编程范例(19)实现数字信封打包与拆解

数字信封是将对称密钥通过非对称加密(即:有公钥和私钥两个)的结果分发对称密钥的方法。PKCS#7中将数字信封作为术语进行定义,而在正文中对进行了如下解释:数字信封包含被加密的内容和被加密的用于加密该内容的密钥。虽然经常使用接收方的公钥来加密“加密密钥”,但这并不是必须的,也可以使用发送方和接收方预...

2011-12-17 19:17:30

阅读数:3288

评论数:0

vc++网络安全编程范例(18)-open ssl 实现数字证书编程

数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身...

2011-12-17 19:12:42

阅读数:3719

评论数:2

vc++网络安全编程范例(17)-open ssl 实现文件加密与解密

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。   作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议...

2011-12-17 19:01:40

阅读数:3574

评论数:0

vc++网络安全编程范例(16)-open ssl 哈希编码解码数据

OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四...

2011-12-17 18:42:55

阅读数:3300

评论数:1

vc++网络安全编程范例(15)-导出会话密钥

密钥(Cryptographic key)是一个基于RSA公匙加密体系的邮件加密软件。它能对你的邮件加上数字签名从而使收信人可以确信邮件是你发来的。它让你可以安全地和你从未见过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。它采用了:审慎的密匙管理,一种RSA和传统加密的杂合算法,用于数字签名...

2011-12-17 18:36:47

阅读数:3047

评论数:0

vc++网络安全编程范例(14)-openssl bio编程

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。   作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议...

2011-12-17 14:04:39

阅读数:3155

评论数:0

vc++网络安全编程范例(13)-openssl engine编程

Engine机制 Engine机制的出现是在OpenSSL的0.9.6版的事情,开始的时候是将普通版本跟支持Engine的版本分开的,到了OpenSSL的0.9.7版,Engine机制集成到了OpenSSL的内核中,成为了OpenSSL不可缺少的一部分。 Engine机制目的是为了使OpenSSL...

2011-12-17 13:59:28

阅读数:3223

评论数:1

VC++网络安全编程范例(12)-PKI编程

PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信...

2011-12-17 13:55:33

阅读数:4217

评论数:4

VC++网络安全编程范例(11)-SSL高级加密网络通信

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。  SSL (Secure Socket Layer)   为N...

2011-12-17 13:42:41

阅读数:3789

评论数:1

VC++网络安全编程范例(10)-SSL网络通信

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。  SSL (Secure Socket Layer)   为N...

2011-12-17 13:38:31

阅读数:4821

评论数:0

VC++网络安全编程范例(9)-基于OPENSSL实现对称算法与BASE64编码

对称密码算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信...

2011-12-17 13:31:57

阅读数:3209

评论数:1

VC++网络安全编程范例(8)-摘要签名和验证编程实现

是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,  数字摘要也就是Hash函数。   数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,儿同样的明文其...

2011-12-17 13:27:08

阅读数:3123

评论数:3

VC++网络安全编程范例(7)-实现哈希摘要算法

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完...

2011-12-17 13:23:43

阅读数:3282

评论数:0

基于visual c++之windows核心编程代码分析(24)IO控制、内核通信

我们在进行Windows编程的时候,经常需要进行IO控制与内核通信,我们来实现IO控制与内核通信。请见代码实现与注释讲解 驱动代码实现与分析/* 头文件 */ #include // 包括了很多NT内核的类型、结构、函数定义,开发驱动时需要包括此头文件 #include #include &qu...

2011-12-17 13:06:36

阅读数:3444

评论数:0

基于visual c++之windows核心编程代码分析(23)遍历驱动器并获取驱动器属性

我们在进行Windows编程的时候,经常需要进行遍历驱动器并获取驱动器属性,我们来实现遍历驱动器并获取驱动器属性。请见代码实现与注释讲解 #define _WIN32_WINNT 0x0501 /* 头文件 */ #include #include /* 预定义 */ #define BUFS...

2011-12-17 12:48:14

阅读数:2504

评论数:0

基于visual c++之windows核心编程代码分析(22)Mapping File编程

文件映射(mapping)是一种将文件内容映射到进程的虚拟地址空间的技术。视图(View)是一段虚拟地址空间,进程可以通过View来存取文件的内容,视图是一段内存,可以使用指针来操作视图。使用文件映射之后,读写文件就如同对读写内存一样简单。在使用文件映射时需要创建映射对象,映射对象分为命名的和未命...

2011-12-17 12:44:09

阅读数:3131

评论数:0

基于visual c++之windows核心编程代码分析(21)获取和设置环境变量

环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。环境变量一般是指在操作系统中用来指定操作...

2011-12-17 12:35:28

阅读数:2943

评论数:0

基于visual c++之windows核心编程代码分析(20) 纤程与线程的互相转换

在Windows2000/XP中,纤程(fiber)相当于用户级别的线程或轻进程.纤程由Win32库函数支持,对核心是不可见的.纤程可以通过SwitchToFiber显示至另一合作纤程,以实现合作纤程之间的协同.纤程包含独立的目态栈,寄存器状态的控制信息.目态控制的纤程转接要求较高的编程经验.由于...

2011-12-17 12:30:37

阅读数:2695

评论数:1

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