关闭

常用Openssl命令

申请证书SSL常用于身份验证、数据加密等应用中,要使用SSL,我们密码有自己的证书。数字证书一般要向专业的认证公司(如VeriSign)申请,并且都是收费的,某些情况下,我们只是想使用加密的数据通信,而不在乎认证,这时就可以自己制作一个证书,自己制作一个证书,有两种方式,一种是Self Signed,另一种是自己制作一个CA,然后由这个CA,来发布我们需要的证书。下面分别介绍这两个方法。生成Self...
阅读(82) 评论(0)

OpenSSL命令详解

OpenSSL功能远胜于KeyTool,可用于根证书,服务器证书和客户证书的管理 这里使用的是Win32OpenSSL_Light-1_0_1e.exe http://www.slproweb.com/products/Win32OpenSSL.html1,构建根证书构建根证书前,需要构建随机数文件(.rand),完整命令如openssl rand -out private/.rand 1000...
阅读(88) 评论(0)

OpenSSL命令系列

1.1 ssl命令系列前言 openssl命令的格式是”openssl command command-options args”,command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能。 1.2 openssl总指挥 以下...
阅读(133) 评论(0)

使用PBKDF2进行Hash(为每个Hash值生成唯一的Salt值)

HashedPasswordEntity.cs /// /// 一个hash的密码 /// public class HashedPasswordEntity { /// /// 密码哈希值 /// [SuppressMe...
阅读(113) 评论(0)

MD5, SHA256, SHA512哈希算法

StringHasher.cs /// /// 实现各种字符串hash散列算法的类 /// public class StringHasher { /// /// 委托表示hash方法实现明确的散列算法 /// //...
阅读(243) 评论(0)

.NET实现Salt+Hash密码加密

Salt + Hash 密码加密,兼容 windows xp为什么要用哈希函数来加密密码?如果你需要保存密码(比如网站用户的密码),你要考虑如何保护这些密码数据,直接将密码写入数据库中是极不安全的,因为任何可以打开数据库的人,都将可以直接看到这些密码。解决的办法是将密码加密后再存储进数据库,比较常用的加密方法是使用哈希函数。 哈希函数的具体定义,大家可以在网上或者相关书籍中查阅到,简单地说,它的特...
阅读(207) 评论(0)

AES128加解密(SBOX+Rijndael)两种方法

AESEncryption.cs public class AESEncryption { //默认密钥向量 //36649AF26DDE0C3A0F1E2D3C4B5A6978 private static byte[] _key1 = { 0x36, 0x64, 0x9A, 0xF2, 0x6D, 0xDE, 0x0C, 0x3A, 0x0...
阅读(292) 评论(0)

AES Java加密 C#解密 (128-ECB加密模式)

在项目中遇到这么一个问题:java端需要把一些数据AES加密后传给C#端,找了好多资料,算是解决了,分享一下:import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import java.security.Se...
阅读(215) 评论(0)

AES(Rijndael算法)

上周好几天都在搞AES,总算是把Rijndael算法搞明白了。本篇会仔细介绍AES(Rijndael算法),后两篇会介绍AES的Java和PHP实现。AES(Rijndael算法)Rijndael算法首先是一个密钥分组加密的算法,通过置换(permutations )和替换(substitutions)迭代加密,进过多轮操作形成密文。AES算是Rijndael算法的一种特殊实现,选的分组为128bi...
阅读(122) 评论(0)

AES128和AES256主要区别和安全程度是多少

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2...
阅读(266) 评论(0)

哈希计算器

Form1.cs代码:using System; using System.ComponentModel; using System.IO; using System.Security.Cryptography; using System.Windows.Forms;namespace HashDemo { public partial class Form1 : Form {...
阅读(238) 评论(0)

MD5和Base64

一. 简述MD5: 全称为message digest algorithm 5(信息摘要算法), 可以进行加密, 但是不能解密, 属于单向加密, 通常用于文件校验Base64: 把任意序列的8位字节描述为一种不易为人识别的形式, 通常用于邮件、http加密. 登陆的用户名和密码字段通过它加密, 可以进行加密和解密.MD5与Base64的思考MD5加密是对任意长的数据使用MD5哈稀算法散列为4个32位...
阅读(249) 评论(0)

那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)

之前没接触过证书加密的话,对证书相关的这些概念真是感觉挺棘手的,因为一下子来了一大堆新名词,看起来像是另一个领域的东西,而不是我们所熟悉的编程领域的那些东西,起码我个人感觉如此,且很长时间都没怎么搞懂.写这篇文章的目的就是为了理理清这些概念,搞清楚它们的含义及关联,还有一些基本操作.SSLSSL - Secure Sockets Layer,现在应该叫”TLS”,但由于习惯问题,我们还是叫”SSL”...
阅读(288) 评论(0)

Bouncy Castle使用(一)【开始】

保持Bouncy Castle项目进行 随着各种算法的更改,更新,协议中的安全问题,以及不得不为诸如CERT等组织编写供应商声明,保持Bouncy Castle项目的进行正在变成一个全职工作,我们中的几个人现在已经放弃了稳定的工作,以释放上班时间。如果您正在使用我们的软件,并且有兴趣确保在需要我们时总是在这里,有两种主要的方式可以帮助您。 第一个是通过获得支持合同或通过赞助项目的具体工作。不仅...
阅读(443) 评论(0)

从自签名证书导出pfx和cer证书

完整代码:public sealed class DataCertificate { #region 生成证书 /// /// 根据指定的证书名和makecert全路径生成证书(包含公钥和私钥,并保存在MY存储区) /// /// <param name...
阅读(637) 评论(0)

C#数字证书编程总结

.NET中如何操作数字证书详解.NET为我们提供了操作数字证书的两个主要的类,分为为: System.Security.Cryptography.X509Certificates.X509Certificate2类, 每个这个类的实例可以表示一个证书; System.Security.Cryptography.X509Certificates.X509Store类,可以对保存在计算机安全区域内的...
阅读(563) 评论(0)

.NET使用RSA加密解密

知耻近乎勇。——孔丘PassWordHelper.cs代码:using System; using System.IO; using System.Text; using System.Globalization; using System.Collections.Generic; using System.Security.Cryptography;namespace Utils { //...
阅读(1974) 评论(0)

X509从证书验证和创建Base64字符串

我手中的灯笼 使眼前黑暗的路途与我为敌Program.cs代码: class Program { static void Main(string[] args) { Console.WriteLine("X509证书实用程序"); Console.WriteLine("----------------------...
阅读(1104) 评论(0)

对称加密算法知识

对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;应用模式加...
阅读(327) 评论(1)

RSA密钥之C#格式与Java格式转换

前言  最近由于项目需求,服务端由c#编写,客户端由java编写。通信数据使用RSA非对称加密。但是java和c#生成的密钥格式是不一样的,所以需要转换格式才可以正常使用。网上搜到使用java进行格式转换的代码(如:http://blog.csdn.net/road2010/article/details/40071881 ),本文将给出一种c#的实现方法。密钥格式java密钥格式如下:私钥:MII...
阅读(502) 评论(0)
29条 共2页1 2 下一页 尾页
    个人资料
    • 访问:893837次
    • 积分:13005
    • 等级:
    • 排名:第1092名
    • 原创:307篇
    • 转载:439篇
    • 译文:56篇
    • 评论:93条
    博客专栏
    文章分类
    打赏
    如果你觉得我的文章对您有用,请随意打赏。 微信 支付宝