加密解密

从支付宝插件无提示导入根证书带来的安全隐患说开去:谈谈HTTPS的加密方式

左心房为你撑大大i 提交于 2019-12-05 13:49:18
众所周知在12306购票,官方说明需要导入根证书,这算是良心的了。其实你安装了支付宝插件,就会被不知情的导入了某些[哔]的根证书,而这会带来一些安全隐患:提升遭遇中间人攻击的可能性:在你完全不知情,以为自己还在享受这HTTPS带来的安全保护的情况下,将未加密的信息完全暴露给第三方(比如GFW)。而根证书是什么?为什么可能导入一个证书就可能会遭到中间人攻击的?我们从头说开去~ 一、基本概念 加密: 未加密信息:明文x 加密后信息:密文y 明文到密文之间的转换关系:y=f(x),而解密则是x=f -1 (y) 例子:f:密文=明文+1,那么123→234;bag→cbh 实际起到加密作用的是f,故f是不能被公开的。 缺点:f是作为加密的关键不能被公开,假如有N对人进行加密通讯,每个人都不想让其他人解密自己的通讯那么必须构造N种f,而构造一个好的f很不容易的。对“天王盖地虎,宝塔镇河妖”这种情况或许还好用,可是对于互联网通讯加密来说就非常不合适了 密钥: 为映射f引入第二个参数key,关系变为y=f(x,key) f是可以公开的,而key密钥是私有的。只要key没有泄露出去,而且f合理,由y导出x就不是件容易的事。 破解: 指在不知道key的情况下,利用各种方法,获取到key;或者绕开key,通过y直接求解x。 合理的F: 在不知道key的情况下,由y计算出x在时间上不可行

delphi反编译ded加密解密之反汇编工具

匿名 (未验证) 提交于 2019-12-02 23:52:01
原文链接: http://www.cnblogs.com/renyinyi/archive/2012/04/14/2446694.html   反汇编工具:我们借助反汇编工具可以将大部分的Win程序反汇编出他的汇编代码.对与高手来说,借助这些工具反汇编出的汇编语句可以将程序的源码还原出来,我们使用反汇编工具主要的目的就是来静态分析这款软件。找到关键处以方便我们下delphi反编译ded加密解密之反汇编工具一步的动态调试。   反汇编工具:我们借助反汇编工具可以将大部分的Win程序反汇编出他的汇编代码.对与高手来说,借助这些工具反汇编出的汇编语句可以将程序的源码还原出来,我们使用反汇编工具主要的目的就是来静态分析这款软件。找到关键处以方便我们下一步的动态调试。   目前在反汇编工具中,最强大的无疑是IDAPro,但是该工具对新手来说,快速掌握操不是一件易事,当你对破解有一定认识后推荐选用。W32Dasm以前是大家一直在用的一款工具,由于该软件作者停止更新 Dashboard 2012年4月 (1) ,加上搜索ASCII的功能我们使用OD的插件即可完成,所以一般很少再使用;在反汇编工具上还是要介绍一款国内密界高手CCGPII621的C32ASM,功能相当强大,国人写的软件对中文的支持当然更完美些,当我们使用OD的插件找不到关键字符时,不妨用这款工具试下,可能就会有意外的惊喜

kodexplorer可道云PHP 加密解密模块

匿名 (未验证) 提交于 2019-12-02 22:11:45
<?php /* * @link http://kodcloud.com/ * @author warlee | e-mail:kodcloud@qq.com * @copyright warlee 2014.(Shanghai)Co.,Ltd * @license http://kodcloud.com/tools/licenses/license.txt *------ * 字符串加解密类; * 一次一密;且定时解密有效 * 可用于加密&动态key生成 * demo: * 加密:echo Mcrypt::encode('abc','123'); * 解密:echo Mcrypt::decode('9f843I0crjv5y0dWE_-uwzL_mZRyRb1ynjGK4I_IACQ','123'); */ class Mcrypt{ private static $default_key = 'a!takA:dlmcldEv,e'; /** * 字符加密,一次一密,可定时解密有效 * * @param string $string 原文 * @param string $key 密钥 * @param int $expiry 密文有效期,单位s,0 为永久有效 * @return string 加密后的内容 */ public static function encode(

3DES加密解密

匿名 (未验证) 提交于 2019-12-02 22:10:10
C#3DES加密解密,JAVA、PHP可用 using System ; using System . Security . Cryptography ; using System . Text ; namespace TT . Utilities . Encrypt { public class DES3 { /// <summary> /// utf-8编码 /// 加密模式ECB,填充类型PKCS7 /// </summary> /// <param name="str_content"></param> /// <param name="str_keys">24λkey</param> /// <returns></returns> public static string DES3_Encrypt ( string str_content , string str_keys ) #region { Encoding encoding = Encoding . UTF8 ; byte [] content = encoding . GetBytes ( str_content ); byte [] keys = encoding . GetBytes ( str_keys ); TripleDESCryptoServiceProvider tdsc = new

【Java----加密解密】第十章 五种对称加密算法总结

匿名 (未验证) 提交于 2019-12-02 21:40:30
10.1、DES 已破解,不再安全, 基本没有企业在用了 是对称加密算法的基石,具有学习价值 密钥长度56(JDK)、56/64(BC) 10.2、DESede(三重DES) 早于AES出现来替代DES 计算密钥时间太长、加密效率不高,所以也 基本上不用 密钥长度112/168(JDK)、128/192(BC) 10.3、AES 最常用 的对称加密算法 密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好) 实际使用中,使用工作模式为CTR(最好用BC去实现),此工作模式需要引入IV参数(16位的字节数组) 密钥长度128/192/256,其中192与256需要配置无政策限制权限文件(JDK6) 填充模式最常用的两种PKCS5Padding和PKCS7Padding,其中后者只有BC独有。 10.4、IDEA 常用的电子邮件加密算法 工作模式只有ECB 密钥长度128位 10.5、PBE 综合了消息摘要算法和对称加密算法,最常见的是PBEWithMD5AndDES 工作模式只有CBC(已丧失安全性,不推荐使用),所以 PBE也不推荐使用了 文章来源: https://blog.csdn.net/ningjiebing/article/details/89410836

RSA加密解密及数字签名Java实现

怎甘沉沦 提交于 2019-11-28 20:26:14
RSA公钥加密算法 是1977年由 罗纳德·李维斯特 (Ron Rivest)、阿迪 ·萨莫尔 (Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院 工作。RSA就是他们三人姓氏开头字母拼在一起组成的。 RSA是目前最有影响力的公钥加密算法 ,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密算法 。 RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对 密钥 ,使用其中一个加密,则需要用另一个才能解密。 关于RSA算法的原理,这里就不再详加介绍,网上各种资源一大堆。下面就开始介绍RSA加密解密JAVA类的具体实现。 import java.security.MessageDigest; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Coder { public static final String KEY_SHA="SHA"; public static final String KEY_MD5="MD5"; /** * BASE64解密 * @param key * @return * @throws Exception */ public static byte[]