`
willwen
  • 浏览: 24473 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

常用加解密技术介绍

阅读更多

通常把加密方法分为以下几类

       1.单向加密算法 顾名思义,这种算法只能加密,不能解密,是不可逆的,所以叫做单向加密算法。这些算法又称摘要算法,就类似给一篇短文做一个提纲一样。相同的短文,做出来的提纲是相同的,因此,可以根据提纲来判断是不是那个短文;又因为只有提纲,是无法知道原来的短文具体是怎么写的,所以又是不可逆的。

       所以这种算法通常被用作对数据进行签名。

       1.MD5(Message Digest algorithm 5,信息摘要算法)

       2.SHA(Secure Hash Algorithm,安全散列算法)

       3.HMAC(Hash Message Authentication Code,散列消息鉴别码)

       MD5、SHA、HMAC这三种加密算法,通常只把他们作为加密的基础。单纯的以上三种的加密并不可靠,通常与其他对称或非对称加密算法一起使用。 例如:

       Signature dsa = Signature.getInstance("SHA1withRSA");

       SHA1withRSA就是说明这是通过SHA1算法签名并通过RSA算法加密之后得到签名(也叫文件摘要)的方式。

       还有一种算法经常在加解密时使用, BASE64算法,BASE64严格地说,属于编码格式,而非加密算法。这种算法用于把字节数组转化成字符串,方便存储和传输和阅读。

2.对称加密算法
   对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥和解密密钥是相同的,或者加密/解密密钥能够从解密/加密密钥中推算出来,所以也称这种加密算法为秘密密钥算法或单密钥算法。
   对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
   常见对称加密算法如下:
   1.DES算法
   2.3DES/edeDES/TDES算法
   3.AES算法
   4.Twofish算法
   5.Blowfish算法
   6.RC2算法
   7.RC4算法
   8.RC5算法
   9.RC6算法
   10.PBE算法
   11.CAST算法
   12.IDEA算法
3.非对称加密算法
   非对称加密算法(asymmetric cryptographic algorithm)又名“公开密钥加密算法”。
    非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。另一方面,甲方可以使用自己的私密钥对机密信息进行加密后再发送给乙方;乙方再用甲方的公钥对加密后的信息进行解密。
    非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
   常见非对称算法有如下几种:
   1.RSA算法
   2.DH算法
   3.DSA-Digital Signature Algorithm(数字签名算法)
   4.ECC-Elliptic Curves Cryptography(椭圆曲线密码编码学)
 加解密算法使用说明(java语言)

一、BASE64编码算法
    BASE64算法类似于URLEncoder/URLDecoder类的算法,实际上是一种转码的算法,并不是加密算法。转码后,每76个字符加一个换行符。
    BASE64的实现类比较多,简单介绍2种。
   1)JDK自带实现类
 参见示例代码Base64Test.java。
 2)bouncy castle实现类
 参见示例代码BCBase64Test.java。
二、单向加密算法
1.MD5
     message digest algorithm 5 (信息摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。不管文件多大,经过MD5后都能生成唯一的MD5值,这个值的长度都是128位,即16个字节。
   MD系列包括如下算法:
   1.md2,摘要长度128位,16个字节,已过时
   2.md4,摘要长度128位,16个字节,已过时
   3.md5,摘要长度128位,16个字节
    此外,还有一种RIPEMD算法,是Hans Dobbertin等3人在md4,md5的基础上,于1996年提出来的,顾名思义RIPEMD就是成熟md算法。算法共有4个标准128、160、256和320,其对应输出长度分别为16字节、20字节、32字节和40字节。不过,让人难以致信的是RIPEMD的设计者们根本就没有真正设计256和320位这2种标准,他们只是在128位和160位的基础上,修改了部分参数来达到输出为256和320位的目的。所以,256位的强度和128相当,而320位的强度和160位相当。
   RIPEMD系列算法如下
   1.ripemd128,摘要长度128位,16个字节
   2.ripemd160,摘要长度160位,20个字节
   3.ripemd256,相当于ripemd128算法
   4.ripemd320,相当于ripemd160算法
   摘要长度越长,破解难度也就越大,安全性也就越高。
   应用代码参见示例Md5Test.java

   2.SHA
   SHA(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了,但是SHA仍然是公认的安全加密算法,较之MD5更为安全。SHA系列算法要求输入消息的长度不超过264位,1G=230位,最大长度为234G,实际应用中不会出现超过最大限制的数据,可以不考虑消息长度的问题。
    SHA系列算法包括如下几种:
    1.SHA1/SHA,摘要长度160位,20个字节
    2.SHA256,摘要长度256位,32个字节
    3.SHA384,摘要长度384位,48个字节
    4.SHA512,摘要长度512位,64个字节
    摘要长度越长,破解难度也就越大,安全性也就越高。
    应用代码参见示例ShaTest.java。
    3.HMAC  HMAC(Hash Message Authentication Code),散列消息鉴别码,基于密钥的Hash算法的认证协议,也叫MAC算法。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即摘要,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥及摘要进行鉴别认证等。
    应用代码参见示例HmacTest.java。

    三、对称加密算法
    1.DES   DES-Data Encryption Standard,即数据加密算法。是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。?   DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。
    应用代码参见示例DesSingleTest.java。
2.3DES
  3DES(即Triple DES)是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。
   之所以称为3DES,是因为该算法加解密时使用3个密钥k1,k2,k3,操作过程如下:
   加密过程:加密(使用k1)-解密(使用k2)-加密(使用k3)
   解密过程:解密(使用k3)-加密(使用k2)-解密(使用k1)
  加密/解密均操作了3次,相当于进行了3次DES加密/解密,所以叫做3DES,当然其需要的运算时间要比DES算法多。
   实际使用时,密钥长度需要为24个字节,这24个字节会被分为3个8字节段,k1,k2,k3均从8字节段中取56位得出。
   应用代码参见示例DesedeTest.java。
3.AES
    AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。AES是一个标准,并不是具体的加密算法。
  AES标准的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。1999年3月完成了第二轮AES2的分析、测试。2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为AES的标准算法,也叫RIJNDAEL算法。该算法支持密钥长度为128位。
    应用代码参见示例AesTest.java。
4.Twofish
    Twofish?则是counterpane?公司向NIST提交的一种满足AES要求的加密算法。Twofish采用128位数据块(128?bits?block),128-192-256-bit?可变长度密钥。这中算法比DES和RIJNDAEL算法速度更快,灵活性更高。
    应用代码参见示例TwoFishTest.java。
5.Blowfish
  Blowfish是1993年布鲁斯·施奈尔(Bruce Schneier)开发的对称密钥区块加密算法,区块长为64位,密钥为1至448位的可变长度。与DES等算法相比,其处理速度较快。因为其无须授权即可使用,作为一种自由授权的加密方式在SSH、文件加密软件等被广泛地使用。
   blowfish算法的密钥位长度位数必须为8的整数倍。
   应用代码参见示例BlowFishTest.java。
6.RC2
  RC2是由著名密码学家Ron Rivest设计的一种传统对称分组加密算法,它可作为DES算法的建议替代算法。它的输入和输出都是64比特。密钥的长度是从1字节到128字节可变。
   应用代码参见示例RC2Test.java、RC2JavaTest.java。
7.RC4
   RC4算法是一种在电子信息领域加密的技术手段,用于无线通信网络。RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法。该算法的速度可以达到DES加密的10倍左右。密钥长度1-256字节。
  RC4广泛应用在安全套接字层(SSL)(用来保护网络上传输的数据)和WEP(无线网络数据保护)上。以色列魏茨曼研究所和美国思科公司的研究者发现,在使用“有线等效保密规则”(WEP)的无线网络中,在特定情况下,人们可以逆转RC4算法的加密过程,获取密钥,从而将己加密的信息解密。实现这一过程并不复杂,只需要使用一台个人电脑对加密的数据进行分析,经过几个小时的时间就可以破译出信息的全部内容。所以在设置无线网的密码加密方式时最好选择WPA加密方式,提高安全性。
   应用代码参见示例RC4Test.java。
8.RC5
   RC5分组密码算法是1994由麻萨诸塞技术研究所的Ronald L. Rivest教授发明的,并由RSA实验室分析。是一种非常快速且简单的算法,由块尺寸、运算轮数和密钥长度参数化,这些参数能被调整,以满足不同的安全需求。Bouncy Castle加密包提供块长度为32和642种方式。
     块长度:常用16,32,64位;运算轮数有效值:1-255;密钥字节长度有效值:1-255。
     应用代码参见示例RC5Test.java、RC5JavaTest.java。
9.RC6
   RC6算法是在RC5算法的基础上设计的,也是由麻萨诸塞技术研究所的Ronald L. Rivest教授设计,是根据AES标准在RC5算法的基础上实现的。因此,RC6也可以指定和RC5一样的块长度,运算轮数,密钥字节长度。
     有实验表明:
     ①从程序的执行效率来看,无论在加密还是在解密过程中,RC5算法都要比RC6算法执行效率高。因此,在一些非常注重程序执行效率,而对数据安全性要求不是非常高的情况下,应该采用RC5算法。
     ②从程序的执行时间来看,无论在加密过程还是在解密过程中,RC5算法都要比RC6算法省时。因此,在一些对程序执行时间长短要求很高,对数据安全性要求不是非常高的情况下,可以采用RC5算法。
     ③从程序的大小来看,无论在加密过程中还是在解密过程中,RC5算法都要比RC6算法更简洁。因此,在一些对程序所用空间大小要求很高,对数据安全性要求不是非常高的情况下,可以采用RC5算法。
     ④从安全性角度考虑,RC6算法是在RC5算法基础之上针对RC5算法中的漏洞,主要是循环移位的位移量并不取决于要移动次数的所有比特,通过采用引入乘法运算来决定循环移位次数的方法,对RC5算法进行了改进,从而大大提高了RC6算法的安全性。因此,在一些对数据安全性要求很高的情况下,应该采用RC6算法。
    应用代码参见示例RC6Test.java。
10.PBE
?    PBE—Password-based encryption(基于密码加密)。其特点在于口令由用户自己掌管,不借助任何物理媒体;由用户提供初始密码和初始盐(也可以看做是第二个密码),采用单向加密和对称加密算法混合加密,是一种简便、安全的加密方式。需要注意的是,盐只能是64位,8个字节,不能多于或者少于64位。密码长度不限。
    应用代码参见示例PBETest.java。
11.CAST
   CAST算法是由加拿大的Carlisle Adams(Entrust Technologies)和Stafford Tavares共同设计的。尽管CAST常常被看作算法,实际上它是用于构造算法的设计过程。  
CAST设计过程的细节已经向密码学界公布了,专家们可以评论和分析它,并且必须承受全部密码分析的尝试。各种各样的研究表明CAST比DES具有更强的抗攻击能力,而且在加密和解密上要更快一些。CAST算法比典型的DES算法大约快5-6倍。
     CAST算法是分组算法,它使用64位分组作为输入。CAST算法的设计允许可变的密钥长度,变化范围在40-256位。“CAST算法”使用的迭代轮数由设计者决定。报告已经显示一个仅仅使用8轮迭代的“CAST算法”比DES(使用16轮迭代)具有稍强一些的抗攻击能力。CAST算法已经被美国和加拿大政府接受作为代替DES的候选算法之一。
    Bouncy Castle实现支持2种方式:
    1)Cast5,64位分组,密钥长度1-128位,应用代码参见示例CAST5Test.java。
    2)Cast6,128位分组,密钥长度1-256位,应用代码参见示例CAST6Test.java。
12.IDEA
  IDEA(International Data Encryption Algorithm)是瑞士的James Massey,Xuejia Lai等人提出的加密算法,在密码学中属于数据块加密算法(Block Cipher)类。IDEA使用长度为128bit的密钥,数据块大小为64bit。从理论上讲,IDEA属于“强”加密算法,至今还没有出现对该算法的有效攻击算法。早在1990年,Xuejia Lai等人在EuroCrypt’90年会上提出了分组密码建议PES(Proposed Encryption Standard)。在EuroCrypt’91年会上, Xuejia Lai等人又提出了PES的修正版IPES(Improved PES)。目前IPES已经商品化,并改名为IDEA。IDEA已由瑞士的Ascom公司注册专利,以商业目的使用IDEA算法必须向该公司申请许可。
   应用代码参见示例IDEATest.java。
四、非对称加密算法
1. RSA  这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。

这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥匙,如果这把钥匙丢了,数据也就不安全了。RSA同时有两把钥匙,公钥与私钥。同时支持数字签名。数字签名的意义在于,对传输过来的数据进行校验。确保数据在传输工程中不被修改。
     数字签名在实际应用中需要数字证书,简单介绍下Java中数字证书的生成方法。
     1).jdk安装路径下有一个keytool的工具程序,这个工具就是用来生成数字证书的。
     2).生成私钥文件
     使用命令行,切换目录到keytool所在的文件夹,执行下面的命令
     keytool -genkey -validity 36000 -alias rsatest -keyalg RSA -keysize 1024 -storetype jks -keypass 123456 -storepass 123456 -keystore d:\log\test.jks
  其中    

-genkey表示生成密钥    

-validity指定证书有效期,这里是36000天    

-alias指定别名,这里是rsatest
-keyalg指定算法,这里是RSA
-keysize 指定生成的密钥长度,这里是1024
-storetype 指定私钥文件的格式,这里是常用的jks格式,如果不指定,则默认为keystore格式
-keypass指定私钥的访问密码,这里是123456
-storepass指定私钥文件的访问密码,这里是123456   

-keystore指定存储位置,这里是d:\log\test.jks
     3).导出公钥证书    
     执行下面的命令:
     keytool -export -keystore d:\log\test.jks -alias rsatest -storepass 123456 -file d:\log\test.cer -rfc
     其中   

-export指定为导出操作  

-keystore指定keystore文件    

-alias指定导出keystore文件中的别名
-storepass指定私钥访问密码,这里是123456    

-file指向导出路径    

-rfc以文本格式输出,也就是以BASE64编码输出    

生成了数字证书文件,就可以通过证书文件进行签名了。
应用代码参见示例RsaTest.java。
     4).CA认证
     我们自己导出的公钥证书只能作为测试用,如果要求在互联网上使用,则可以使用特殊手段伪造同样的证书,这样是不安全的,所以如果有一个被普遍信任的机构再对我们的证书进行一次签名,使得我们的证书无法伪造,就会比较安全。CA机构就是要解决这个问题的
     CA机构,又称为证书授证(Certificate Authority)中心,作为电子商务交易中受信任的第三方,相当于公证人的角色。它承担公钥体系中公钥的合法性检验的责任。CA机构使用它的证书(又称为根证书)对用户提交的证书进行签名,使得攻击者不能伪造和篡改用户证书。一般各种浏览器都会安装主流CA机构的根证书,只要是由这些机构认证过的证书都被浏览器信任;否则,浏览器将给出警告。如果浏览器没有某个CA机构的根证书,可以由用户安装。(网上订过火车票的同事应该已经知道如何安装)
     申请CA机构的官方认证,需要提交证书申请文件,使用如下命令生成
     keytool -certreq -alias rsatest -file d:\log\test.csr -keystore d:\log\test.jks -storepass 123456 –v
     该命令会产生test.csr证书申请文件,把该文件提交给CA机构,就可以得到官方认证的公钥证书,多为p7b格式。
     应用代码参见示例RsaTest.java。
2.DH
Diffie-Hellman算法(D-H算法),密钥一致协议。是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。DH算法综合使用了对称加密和非对称加密技术。DH算法的交互流程如下:
1.甲方构建密钥对儿,将公钥公布给乙方,将私钥保留;双方约定数据加密算法;乙方通过甲方公钥构建密钥对儿,将公钥公布给甲方,将私钥保留。?     2.甲方使用私钥、乙方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥加密数据,发送给乙方加密后的数据;乙方使用私钥、甲方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥对数据解密。?     3.乙方使用私钥、甲方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥加密数据,发送给甲方加密后的数据;甲方使用私钥、乙方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥对数据解密。
应用代码参见示例DhTest.java。

3.DSA  
DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据和签名不匹配则认为验证失败!数字签名的作用就是校验数据在传输过程中不被修改。
DSA算法也可以使用文件形式的数字证书,制作方法同RSA证书,如:
keytool -genkey -validity 36000 -alias dsatest -keyalg DSA -keysize 1024 -storetype jks -keypass 123456 -storepass 123456 -keystore d:\log\dsatest.jks
导出证书:
keytool -export -keystore d:\log\dsatest.jks -alias dsatest -storepass 123456 -file d:\log\dsatest.cer -rfc
应用代码参见示例DsaTest.java。
4.ECC   ECC(Elliptic Curves Cryptography),椭圆曲线密码编码学,是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。在软件注册保护方面起到很大的作用,一般的序列号通常由该算法产生。
ECC算法在jdk1.5后加入支持,目前仅仅只能完成密钥的生成与解析。 如果想要获得ECC算法实现,需要调用硬件完成加密/解密(ECC算法相当耗费资源,如果单纯使用CPU进行加密/解密,效率低下)。涉及到Java Card领域,PKCS#11。

附:安装bouncy castle算法包
  在java中实现很多加密算法的时候都需要使用到bouncy castle的算法包,可以使用如下代码添加该包提供的功能:
 Security.addProvider(new BouncyCastleProvider());
    为了方便使用,该算法包可以手工配置到jre环境中,简单介绍下配置方法。
 1.获取算法包
      bouncy castle官网:www.bouncycastle.org/,根据所使用的jdk,到该网站获取对应版本的jar包。我用的是jdk1.4,用的是bcprov-jdk14-139.jar。
 2.把bcprov-jdk14-139.jar复制到jdk安装目录\jre\lib\ext目录下

 3.编辑jdk安装目录\jre\lib\security下java.security文件
  使用编辑工具打开java.security文件后找到如下片段:    
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.net.ssl.internal.ssl.Provider
security.provider.3=com.sun.rsajca.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvide
在最后声明security.provider的一行代码之后再添加一行:
rsecurity.provider.6=org.bouncycastle.jce.provider.BouncyCastleProvider
6,是由前面一行的数值加1得到的;org.bouncycastle.jce.provider.BouncyCastleProvider就是bouncy castle的算法提供者,jdk在前5个算法提供者中都找不到相应的算法时就会到该类中查找。

4.可以使用bouncy castle算法包了。

附件解压密码:123
分享到:
评论

相关推荐

    加密解密技术简介

    在我们完全对加解密不了解的时候,如何进行文本加密?最常用的方式,就是把文本顺序打乱。在计算机出现之前,这种方式或许比较有用,但从今天看来,这种方式没有丝毫安全可言。 在计算机的高密度运算的今天,再繁琐...

    加密解密 技术内幕

    加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。

    C#(.net)的几种加密解密方式

    这是C#的几种加密和解密的方法,里面包含Base64的加密和解密,MD5的加密,SHA1的加密和解密,文件夹的加密和解密

    Java 加解密技术.pdf

    Java 加解密技术,详细介绍常用算法:BASE64/MD5/SHA/HMAC/DES/3DES/AES/PBE/RSA/DH,25页内容,有代码

    基于python实现的渗透测试常用加解密算法源码+项目说明.zip

    基于python实现的渗透测试常用加解密算法源码+项目说明.zip 一些渗透测试相关的加解密方法的实现,封装成类或函数,方便编写 Burpy 脚本的时候直接调用 基于Python3实现。 例如网站登录密码加密的rsa、aes。 金融...

    Java文本文件加密与解密

    随着现代网络技术的飞速发展,人们的个人信息、文件传递以及电子商务等方面都需要大力的保护,文件加密技术也应运而生。本次使用JAVA语言,采用3DES加密算法进行对文本文件的加密,通过二进制和十六进制的转换来实现...

    des加密解密的实现

    本文是一篇讨论关于常用文件加密解密算法的毕业设计论文,它详细的讲述了文件加密解密算法实现的过程中所用到的方法、技术。对公钥密码体制和私钥密码体制进行了分析和研究,并对公钥密码体制和私钥密码体制的代表...

    ASP批量加密解密工具(ASP Decode)v2.0(VB Script EnCode 批量加解密 工具)

    VB Script EnCode批量解密工具,适用.asp .vbs .inc后缀文件; 批量解密ASP代码,把加密过的 转换为可编辑的asp代码 这个技术虽然现在不常用了,但是以前的很多优秀ASP产品都是通过这个技术加密的。

    完全掌握加密解密实战超级手册.z01

    深入浅出,注重实践,适用于广大计算机软件加密解密技术新手、爱好者,适用于软件开发从业人员和编程爱好者,也非常适合大专院校相关专业学生,以及有志于从事安全或加解密行业的准专业人员快速掌握实用技术前言第1...

    完全掌握加密解密实战超级手册.zip02

    38413.3.2 PGP的安全问题 38513.4 专家点拨:常见问题解答 390第14章 常用软件加密解密技术 39114.1 加密解密Word文件 39214.1.1 Word自身功能加密 39214.1.2 利用AOPR解密Word文档 39314.1.3 风语文件加密工具 ...

    ASP批量加密解密工具

    批量解密ASP代码,把加密过的 转换为可编辑的asp代码 这个技术虽然现在不常用了,但是以前的很多优秀ASP产品都是通过这个技术加密的。

    基于openssl的常用加解密工具.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    加密与解密实战入门-郑羽-清晰扫描版pdf (带超详细书签目录)

    本书包含了加解密技术基础中常用到的一些知识和工具,并通过实例来进行讲解说明,既适合对加解密技术感兴趣的初学者使用,也适合作为软件开发人员在软件设计过程中的参考用书。本资源转载自网络,供学习研究之用,...

    base64加解密单页源码.zip

    超级加解密转换工具 现在很多应用程序都需要使用加密技术来保障数据的安全性。其中,Base64是一种常用的编码方式,可以将二进制数据转换成易于传输和存储的文本格式。如果你想实现一个简单的在线Base64加解密工具,...

    .net常用的技术介绍

    .net的常用技术:页面传参数方法、调用存储过程、加密解密、数据库等

    springboot-rsa-aes-demo:RSA和AES前端数据加密,对数据解密,以及返回参数加密,前端解密,完整原始文件,由于是城市表面常用的是这二种加解密方式,所以就写了这二种,每天会自动更换密关键字,后续我会陆续更新其他的加解密算法,技术点采用在新的spring-boot 2.3.1版本+ mybatisPlus + mysql数据库

    boot 2.3.1版本+ mybatisPlus + mysql数据库介绍RSA和AES前端数据加密,数据解密,以及返回参数加密,前端解密,完整原始码,由于是城市表面常用的是这二种加解密方式,所以就写了这二种,每天会自动更换密钥,随后...

    (OC)Encryp(加密解密).zip

    OC 移动开发 常用的加密技术 MD5加密, 32位 小写 MD5加密, 32位 大写 MD5加密, 16位 小写 MD5加密, 16位 大写 base64加密 base64解密 SHA1加密 AES128加密 AES128加密 AES128加密

    加密解密技能百练

    加密解密技能百练,比较不错的一本书,其中包括现代密码算法、常用文件加密系统,信息隐藏技术、系统加密与解密,口令破解原理与实践,网络攻击与防护,网络监听与扫描等等,最重要的是,这本书是附带书签的,是非常...

    揭秘数据解密的关键技术

    《揭秘数据解密的关键技术》内容包含反汇编的阅读和理解,数据在计算机中的存储原理,常用媒体格式的解析,加密和解密的识别和分析,数据压缩的特征识别,打包文件格式的识别和游戏窗口化的方法。《揭秘数据解密的...

Global site tag (gtag.js) - Google Analytics