JAVA 与C 间进行DES 字符串加解密

项目中偶尔会遇到JAVA 的WEB 服务端(后端)与C 的客户端或者服务(库)之进行加密通讯。 以DES( CBC ) 为例需要保证另一端发过来的加密字符串,可以被约定的KEY 解密成原文,反之也相同。直接上代码:JAVA 版: //DES 算法 import java.lang.reflect.*; import sun.misc.BASE64Encoder; public class des_zm { ...

常用正则表达式收藏

  ^[1-9]d*$    //匹配正整数   ^-[1-9]d*$   //匹配负整数   ^-?[1-9]d*$   //匹配整数   ^[1-9]d*|0$  //匹配非负整数(正整数 + 0)   ^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)   ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数   ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配 ...

HTML特殊字符编码大全

在编写HTML 网页时可能会遇到一些特殊的符号,比如® (  已注册 )© ( 版权 )、以及一些本身在HTML 或JS 中有意义的符号如:大于号 小于号( HTML 中一对尖括号 ),还有 & 、空格等,这些符号或字符在输入时就有一定困难,有些符号直接乱用甚至会导致浏览器在解析时出现各种显示不正常错位等问题。因此按W3C 的标准在HTML 的规范中有专门定义一套针对此类特殊符号的“实体”HTML 原代码显示结果描述&lt;<小于号或显示标记& ...

用CryptoAPI进行数据加密

由于过于复杂的加密算法实现起来非常困难,所以在过去,许多应用程序只能使用非常简单的加密技术,这样做的结果就是加密的数据很容易被人破译。而使用Microsoft提供的加密应用程序接口(即Cryptography API),或称CryptoAPI,可以方便地在应用程序中加入强大的加密功能,而不必考虑基本的算法。本文将对CryptoAPI及其使用的数据加密原理作一简单的介绍,然后给出了用CryptoAPI编写加密程序的大致步骤,最后以一个文件的加密、解密程序为例演示CryptoAP ...

木马防范检测数据端口与进程

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

实现数字信封打包与拆解

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

OpenSSL 实现文件加密与解密

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。对称加密算法  OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES ...

OpenSSL 哈希编码解码数据

OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法 ...

导出会话密钥

密钥(Cryptographic key)是一个基于RSA公匙加密体系的邮件加密软件。它能对你的邮件加上数字签名从而使收信人可以确信邮件是你发来的。它让你可以安全地和你从未见过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。它采用了:审慎的密匙管理,一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。密钥(Cryptographic key)是用在加密和解密过程的会话(均衡)密钥和用在认证过程中 ...

OpenSSL BIO编程

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用 ...