当前位置:首页 » 密码管理 » 加密密码生成

加密密码生成

发布时间: 2022-11-26 11:45:56

❶ 1. Crypto 加密算法

Hash,音译为哈希,也叫散列函数、摘要算法。它是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。

常用的哈希算法有:

MD5 信息摘要算法 (MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。

SHA (Secure Hash Algorithm),即安全散列算法。散列算法又称杂凑算法或哈希算法,能将一定长度的消息计算出固定长度的字符串(又称消息摘要)。SHA包含5个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,后四者并称为SHA-2。

循环冗余校验 (Cyclic rendancy check,通称“ CRC ”)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。

AES ,高级加密标准(Advanced Encryption Standard),又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。

MAC ,消息认证码(带密钥的 Hash 函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。构造方法由 M.Bellare 提出,安全性依赖于 Hash 函数,故也称带密钥的 Hash 函数。消息认证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。

PBKDF2 (Password-Based Key Derivation Function)是一个用来导出密钥的函数,常用于生成加密的密码。它的基本原理是通过一个伪随机函数(例如 HMAC 函数),把明文和一个盐值作为输入参数,然后重复进行运算,并最终产生密钥。如果重复的次数足够大,破解的成本就会变得很高。而盐值的添加也会增加“彩虹表”攻击的难度。

在需要使用 CryptoSwift 的地方将其 import 进来:

欢迎留言讨论,有错误请指出,谢谢!
Swift 开发学习交流,联系我 QQ:3500229193 入群,请备注“Swift 学习”!

❷ 常见的加密算法、原理、优缺点、用途

在安全领域,利用密钥加密算法来对通信的过程进行加密是一种常见的安全手段。利用该手段能够保障数据安全通信的三个目标:

而常见的密钥加密算法类型大体可以分为三类:对称加密、非对称加密、单向加密。下面我们来了解下相关的算法原理及其常见的算法。

在加密传输中最初是采用对称密钥方式,也就是加密和解密都用相同的密钥。

1.对称加密算法采用单密钥加密,在通信过程中,数据发送方将原始数据分割成固定大小的块,经过密钥和加密算法逐个加密后,发送给接收方

2.接收方收到加密后的报文后,结合解密算法使用相同密钥解密组合后得出原始数据。

图示:

非对称加密算法采用公钥和私钥两种不同的密码来进行加解密。公钥和私钥是成对存在,公钥是从私钥中提取产生公开给所有人的,如果使用公钥对数据进行加密,那么只有对应的私钥(不能公开)才能解密,反之亦然。N 个用户通信,需要2N个密钥。

非对称密钥加密适合对密钥或身份信息等敏感信息加密,从而在安全性上满足用户的需求。

1.甲使用乙的公钥并结合相应的非对称算法将明文加密后发送给乙,并将密文发送给乙。
2.乙收到密文后,结合自己的私钥和非对称算法解密得到明文,得到最初的明文。

图示:

单向加密算法只能用于对数据的加密,无法被解密,其特点为定长输出、雪崩效应(少量消息位的变化会引起信息摘要的许多位变化)。

单向加密算法常用于提取数据指纹,验证数据的完整性、数字摘要、数字签名等等。

1.发送者将明文通过单向加密算法加密生成定长的密文串,然后传递给接收方。

2.接收方将用于比对验证的明文使用相同的单向加密算法进行加密,得出加密后的密文串。

3.将之与发送者发送过来的密文串进行对比,若发送前和发送后的密文串相一致,则说明传输过程中数据没有损坏;若不一致,说明传输过程中数据丢失了。

图示:

MD5、sha1、sha224等等

密钥交换IKE(Internet Key Exchange)通常是指双方通过交换密钥来实现数据加密和解密

常见的密钥交换方式有下面两种:

将公钥加密后通过网络传输到对方进行解密,这种方式缺点在于具有很大的可能性被拦截破解,因此不常用

DH算法是一种密钥交换算法,其既不用于加密,也不产生数字签名。

DH算法通过双方共有的参数、私有参数和算法信息来进行加密,然后双方将计算后的结果进行交换,交换完成后再和属于自己私有的参数进行特殊算法,经过双方计算后的结果是相同的,此结果即为密钥。

如:

安全性

在整个过程中,第三方人员只能获取p、g两个值,AB双方交换的是计算后的结果,因此这种方式是很安全的。

答案:使用公钥证书

公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合

用于实现基于公钥密码机制的密钥和证书的生成、管理、存储、分发和撤销的功能

签证机构CA、注册机构RA、证书吊销列表CRL和证书存取库CB。

公钥证书是以数字签名的方式声明,它将公钥的值绑定到持有对应私钥的个人、设备或服务身份。公钥证书的生成遵循X.509协议的规定,其内容包括:证书名称、证书版本、序列号、算法标识、颁发者、有效期、有效起始日期、有效终止日期、公钥 、证书签名等等的内容。

1.客户A准备好要传送的数字信息(明文)。(准备明文)

2.客户A对数字信息进行哈希(hash)运算,得到一个信息摘要。(准备摘要)

3.客户A用CA的私钥(SK)对信息摘要进行加密得到客户A的数字签名,并将其附在数字信息上。(用私钥对数字信息进行数字签名)

4.客户A随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。 (生成密文)

5.客户A用双方共有的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。(非对称加密,用公钥对DES密钥进行加密)

6.银行B收到客户A传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。(用私钥对DES密钥解密)

7.银行B然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。(解密文)

8.银行B用双方共有的公钥(PK)对客户A的数字签名进行解密,得到信息摘要。银行B用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。(用公钥解密数字签名)

9.银行B将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。(对比信息摘要和信息)

答案是没法保证CA的公钥没有被篡改。通常操作系统和浏览器会预制一些CA证书在本地。所以发送方应该去那些通过认证的CA处申请数字证书。这样是有保障的。

但是如果系统中被插入了恶意的CA证书,依然可以通过假冒的数字证书发送假冒的发送方公钥来验证假冒的正文信息。所以安全的前提是系统中不能被人插入非法的CA证书。

END

❸ 如何在Linux中产生,加密或解密随机密码

1、到U盘超级加密3000软件官方网站下载,这款软件下载后只有一个ude.exe文件,您只需将这个文件放到您需要加密的硬盘分区就可以了。2、在密码输入框中输入正确密码(试用版默认密码是888888),点击确定按钮就可以进入U盘超级加密3000软件主窗口。软件主窗口最上方是一排功能按钮,每个按钮执行软件的一个功能。软件窗口下方有两个文件列表,左侧列表中显示的是当前磁盘中没有加密的文件夹和文件。右侧列表中显示的是当前磁盘中已经加密的文件和文件夹。3、点击全盘加密,自动加密全盘所有的文件和文件夹。当然了,如果您只想加密单个文件或文件夹,也可以在软件主窗口下方左侧的文件列表中用鼠标选中你需要加密的文件夹或文件,然后点击单个加密按钮。解密时,只需点击全盘解密,自动解密所有已经加密的文件和文件夹。如果只想解密个别文件或文件夹,请在软件窗口下方右侧的文件列表中用鼠标选中你需要解密的文件夹或文件,然后点击单个解密按钮。

❹ 如何把文件加密

右键点击需要加密的文件夹,选择属性,在属性窗口中点击高级按钮,点击加密内容以便保护数据,点击确定之后再返回属性窗口,点击确定,选择将更改应用于此文件夹、子文件夹和文件,最后点击确定即可。操作方法
01
鼠标右击要加密的文档或文件夹,在“添加压缩包”面板里设置密码,并勾选“加密文件名”设置完成后点击确定即可生成加密文件。

02
注意勾选“加密文件名”,并输入加密密码,点击确定就完成,非常简单。

03
打开加密文档前先要输入密码。

04
用户可以往加密文档里面直接拖动添加文件。

特别提示
在加密文档时要注意一些问题,设置时最好勾选“加密文件名”,这样当其他用户试图打开加密包时就看不到加密文件名字和目录名字了。还有要注意选择“压缩等级”为“仅存储”,这样在处理加密文件包,或者添加删除加密文件包时能获得最好的速度。当做好加密文件后,把源文件删除,并清空垃圾箱,还要做好备份,以防加密文件包损耗就找不会资料了。

❺ 安卓端TOTP动态密码生成库

TOTP(Time-base One-Time Password)译为基于时间的一次性密码,也称时间同步的动态密码。应用范围:对安全性要求比较高的场合,可以进行密码的二次认证,例如:游戏,银行等业务。
该库的加密工具类主要参考google-authenticator 加密原理:使用HMAC算法,利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。 这里的密钥参数:base32生成,消息参数:时间戳(秒单位)/时间间隔(TimeStep) (tips: 例如 TimeStep=30 30内生成密码一样,就是误差30s)
效果图

TOTP的要求

使用方法

❻ 密码技术(十一)之密钥

  ——秘密的精华

 在使用对称密码、公钥密码、消息认证码、数字签名等密码技术使用,都需要一个称为 密钥 的巨大数字。然而,数字本身的大小并不重要,重要的是 密钥空间的大小 ,也就是可能出现的密钥的总数量,因为密钥空间越大,进行暴力破解就越困难。密钥空间的大小是由 密钥长度 决定的。

 对称密码DES的密钥的实质长度为56比特(7个字节)。
例如,
一个DES密钥用二进制可以表示为:
01010001 11101100 01001011 00010010 00111101 01000010 00000011
用十六进制则可以表示为:
51 EC 4B 12 3D 42 03
而用十进制则可以表示为:
2305928028626269955

 在对称密码三重DES中,包括使用两个DES密钥的DES-EDE2和使用三个DES密钥的DES-EDE3这两种方式。
DES-EDE2的密钥长度实质长度为112比特(14字节),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F
DES-EDE3的密钥的实质长度为168比特(21字节),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96

 对称密码AES的密钥长度可以从128、192和256比特中进行选择,当密钥长度为256比特时,比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96
B9 42 DC FD A0 AE F4 5D 60 51 F1

密钥和明文是等价的 。假设明文具有100万的价值,那么用来加密这段明文的密钥也就是具有100万元的价值;如果明文值1亿元,密钥也就值1亿元;如果明文的内容是生死攸关的,那么密钥也同样是生死攸关的。

 在对称密码中,加密和解密使用同一个密钥。由于发送者和接收者需要共享密钥,因此对称密码又称为共享密钥密码。对称密码中所使用的密钥必须对发送者和接收者以外的人保密,否则第三方就能够解密了。

 在消息认证码中,发送者和接收者使用共享的密钥来进行认证。消息认证码只能由持有合法密钥的人计算出来。将消息认证码附加在通信报文后面,就可以识别通信内容是否被篡改或伪装,由于“持有合法的密钥”就是发送者和接收者合法身份的证明,因此消息认证码的密钥必须对发送者以外的人保密,否则就会产生篡改和伪装的风险。

 在数字签名中,签名生成和验证使用不同的密钥,只有持有私钥的本人才能够生成签名,但由于验证签名使用的是公钥,因此任何人都能够验证签名。

 对称密码和公钥密码的密钥都是用于确保机密性的密钥。如果不知道用于解密的合法密钥,就无法得知明文的内容。
 相对地,消息认证码和数字签名所使用的密钥,则是用于认证的密钥。如果不知道合法的密钥,就无法篡改数据,也无法伪装本人的身份。

 当我们访问以https://开头的网页时,Web服务器和浏览器之间会进行基于SSL/TLS的加密通信。在这样的通信中所使用的密钥是仅限于本次通信的一次密钥,下次通信时就不能使用了,想这样每次通信只能使用一次的密钥称为 会话密钥
 由于会话密钥只在本次通信中有效,万一窃听者获取了本次通信的会话密钥,也只能破译本次通信的内容。
 虽然每次通信都会更换会话密钥,但如果用来生成密钥的伪随机数生成器品质不好,窃听者就有可能预测出下次生成会话密钥,这样就会产生通信内容被破译的风险。
 相对于每次通信更换的会话密钥,一直被重复使用的密钥称为 主密钥

 一般来说,加密的对象是用户直接使用的信息,这样的情况下所使用的密钥称为CEK(Contents Encryting Key,内容加密密钥);相对地,用于加密密钥的密钥则称为KEK(Key Encryting Key,密钥加密密钥)。

 在很多情况下,之前提到的会话密钥都是被作为CEK使用的,而主密钥则是被作为KEK使用的。

 生成密钥的最好方法就是使用随机数,因为米哟啊需要具备不易被他人推测的性质。在可能的情况下最好使用能够生成密码学上的随机数的硬件设备,但一般我们都是使用伪随机数生成器这一专门为密码学用途设计的软件。
 在生成密钥时,不能自己随便写出一些像“3F 23 52 28 E3....”这样的数字。因为尽管你想生成的是随机的数字,但无论如何都无法避免人为偏差,而这就会成为攻击者的目标。
 尽管生成伪随机数的算法有很多种,但密码学用途伪随机生成器必须是专门针对密码学用途而设计的。例如,有一些伪随机数生成器可以用于游戏和模拟算法,尽管这些伪随机数生成器所生成的数列看起也是随机的,但只要不是专门为密码学用途设计的,就不能用来生成密钥,因为这些伪随机数生成器不具备不可预测性这一性质。

 有时候我们也会使用人类的可以记住的口令(pasword或passphrase)来生成密钥。口令指的是一种由多个单词组成的较长的password。
 严格来说,我们很少直接使用口令来作为密钥使用,一般都是将口令输入单向散列函数,然后将得到的散列值作为密钥使用。
 在使用口令生成密钥时,为了防止字典攻击,需要在口令上附加一串称为盐(salt)的随机数,然后在将其输入单向散列函数。这种方法称为“基于口令的密码(Password Based Encryption,PBE)”。

 在使用对称密码时,如何在发送者和接收者之间共享密钥是一个重要的问题,要解决密钥配送问题,可以采用事先共享密钥,使用密钥分配中心,使用公钥密码等方法,除了上述方法,之前还提到一种解决密钥配送的问题的方法称为Diffie-Hellman密钥交换。

 有一种提供通信机密性的技术称为 密钥更新 (key updating),这种方法就是在使用共享密钥进行通信的过程中,定期更改密钥。当然,发送者和接收者必须同时用同样的方法来改变密钥才行。
 在更新密钥时,发送者和接收者使用单向散列函数计算当前密钥的散列值,并将这个散列值用作新的密钥。简单说,就是 用当前密钥散列值作为下一个密钥
 我们假设在通信过程中的某个时间点上,密钥被窃听者获取了,那么窃听者就可以用这个密钥将之后的通信内容全部解密。但是,窃听者却无法解密更新密钥这个时间点之前的内容,因为这需要用单向散列函数的输出反算出单向散列函数的输入。由于单向散列函数具有单向性,因此就保证了这样的反算是非常困难的。
 这种防止破译过去的通信内容机制,称为 后向安全 (backward security)。

 由于会话密钥在通信过程中仅限于一次,因此我们不需要保存这种秘密。然而,当密钥需要重复使用时,就必须要考虑保存密钥的问题了。

 人类是 无法记住具有实用长度的密钥 的。例如,像下面这样一个AES的128比特的密钥,一般人是很难记住的。
51 EC 4B 12 3D 42 03 30 04 DB 98 95 93 3F 24 9F
就算勉强记住了,也只过不是记住一个密钥而已。但如果要记住多个像这样的密钥并且保证不忘记,实际上是非常困难的。

 我们记不住密钥,但如果将密钥保存下来又可能会被窃取。这真是一个头疼的问题。这个问题很难得到彻底解决,但我们可以考虑一些合理的解决方法。
 将密钥保存生文件,并将这个文件保存在保险柜等安全地方。但是放在保险柜里的话,出门就无法使用了。这种情况,出门时就需要随身携带密钥。而如果将密钥放在存储卡随身携带的话,就会产生存储卡丢失、被盗等风险。
 万一密钥被盗,为了能够让攻击者花更多的时间才能真正使用这个密钥,我们可以使用将密钥加密后保存的方法,当然,要将密钥加密,必须需要另一个密钥。像这样用于密码加密的密钥,一般称为KEK。
 对密钥进行加密的方法虽然没有完全解决机密性的问题,但在现实中却是一个非常有效地方法,因为这样做可以减少需要保管密钥的数量。
 假设计算机上有100万个文件,分别使用不同的密钥进行加密生成100万个密文,结果我们手上就产生了100万个密钥,而要保管100万个密钥是很困难的。
 于是,我们用一个密钥(KEK)将这100万个密钥进行加密,那么现在我们只要保管者一个KEK就可以了,这一个KEK的价值相当于签名的100万个密钥的价值的总和。
 用1个密钥来代替多个密钥进行保管的方法,和认证机构的层级化非常相似。在后者中,我们不需要信任多个认证机构,而只需要信任一个根CA就可以了。同样的,我们也不需要确保多个密钥的机密性,而只需要确保一个KEK的机密性就可以了。

 密钥的作废和生成是同等重要的,这是因为密钥和明文是等价的。

 假设Alice向Bob发送了一封加密邮件。Bob在解密之后阅读了邮件的内容,这时本次通信所使用的密钥对于Alice和Bob来说就不需要了。不在需要的密钥必须妥善删除,因为如果被窃听者Eve获取,之前发送的加密邮件就会被解密。

 如果密钥是计算机上的一个文件,那么仅仅删除这个文件是不足以删除密钥的,因为有一些技术能够让删除的文件“恢复”。此外,很多情况下文件的内容还会残留在计算机的内存中,因此必须将这些痕迹完全抹去。简而言之,要完全删除密钥,不但要用到密码软件,还需要在设计计算机系统时对信息安全进行充分的考虑

 如果包含密钥的文件被误删或者保管密钥的笔记本电脑损坏了,会怎么样?
 如果丢失了对称密钥密码的共享密钥,就无法解密密文了。如果丢失了消息认证码的密钥,就无法向通信对象证明自己的身份了。
 公钥密码中,一般不太会发送丢失公钥的情况,因为公钥是完全公开的,很有可能在其他电脑上存在副本。
 最大的问题是丢失公钥密码的私钥。如果丢失了公钥密码的私钥,就无法解密用公钥密码加密的密文了。此外,如果丢失了数字签名的私钥,就无法生成数字签名了。

 Diffie-Hellman密钥交换(Diffie-Hellman key exchange)是1976年由Whitfield Diffie和Martin Hellman共同发明的一种算法。使用这种算法,通信双方仅通过交换一些可以公开的信息就能够生成共享秘密数字,而这一秘密数字就可以被用作对称密码的密钥。IPsec 中就使用了经过改良的Diffie-Hellman密钥交换。

2 Alice 生成一个随机数A
 A是一个1 ~ P-2之间的整数。这个数是一个只有Alice知道的密码数字,没有必要告诉Bob,也不能让Eve知道。

Alice计算出的密钥=Bob计算出的密钥

  在步骤1-7中,双方交换数字一共有4个,P、G、G A mod P 和 G B mod P。根据这4个数字计算出Alice和Bob的共享密钥是非常困难的。
 如果Eve能欧知道A和B的任意一个数,那么计算G A*B 就很容易了,然而仅仅根据上面的4个数字很难求出A和B的。
 根据G A mod P 计算出A的有效算法到现在还没有出现,这问题成为有限域(finite field) 的 离散对数问题

 Diffie-Hellman密钥交换是利用了“离散对数问题”的复杂度来实现密钥的安全交换的,如果将“离散对数问题”改为“椭圆曲线上离散对数问题”,这样的算法就称为 椭圆曲线Diffie-Hellman 密钥交换。
 椭圆曲线Diffie-Hellman密钥交换在总体流程上是不变的,只是所利用的数学问题不同而已。椭圆曲线Diffie-Hellman密钥交换能够用较短的密钥长度实现较高的安全性。

 基于口令密码(password based encryption,PBE)就是一种根据口令生成密钥并用该密钥进行加密的方法。其中加密和解密使用同一个密钥。
 PBE有很多种实现方法。例如RFC2898和RFC7292 等规范中所描述的PBE就通过java的javax.crypto包等进行了实现。此外,在通过密码软件PGP保存密钥时,也会使用PBE。
PBE的意义可以按照下面的逻辑来理解。

想确保重要消息的机制性。
  ↓
将消息直接保存到磁盘上的话,可能被别人看到。
  ↓
用密钥(CEK)对消息进行加密吧。
  ↓
但是这次又需要确保密钥(CEK)的机密性了。
  ↓
将密钥(CEK)直接保存在磁盘上好像很危险。
  ↓
用另一个密钥(KEK)对密钥进行加密(CEK)吧。
  ↓
等等!这次又需要确保密钥(KEK)的机密性了。进入死循环了。
  ↓
既然如此,那就用口令来生成密钥(KEK)吧。
  ↓
但只用口令容易遭到字典攻击
  ↓
那么就用口令和盐共同生成密钥(KEK)吧。
  ↓
盐可以和加密后的密钥(CEK)一切保存在磁盘上,而密钥(KEK)可以直接丢弃。
  ↓
口令就记在自己的脑子里吧。

PBE加密包括下列3个步骤:

  盐是由伪随机数生成器生成的随机数,在生成密钥(KEK)时会和口令一起被输入单向散列函数。
 密钥(KEK)是根据秘密的口令生成的,加盐好像没有什么意义,那么盐到底起到什么作用呢?
盐是用来防御字典攻击的 。字典攻击是一种事先进行计算并准备好候选密钥列表的方法。
 我们假设在生成KEK的时候没有加盐。那么主动攻击者Mallory就可以根据字典数据事先生成大量的候选KEK。
 在这里,事先是很重要的一点。这意味着Mallory可以在窃取到加密会话的密钥之前,就准备好了大量的候选KEK。当Mallory窃取加密的会话密钥后,就需要尝试将它解密,这是准备好了大量事先生成的候选KEK,就能够大幅度缩短尝试的时间,这就是 字典攻击 (dictionary attack)。
 如果在生成KEK时加盐,则盐的长度越大,候选KEK的数量也会随之增大,事先生成的的候选KEK就会变得非常困难。只要Mallory还没有得到盐,就无法生成候选KEK。这是因为加盐之后,候选KEK的数量会变得非常巨大。

 具有充足长度的密钥是无法用人脑记忆的。口令也是一样,我们也无法记住具有充足比特数的口令。
 在PBE中,我们通过口令生成密钥(KEK),在用这个密钥来加密会话密钥(CEK)。由于通过口令生成的密钥(KEK)强度不如由伪随机数生成器生成的会话密钥(CEK),这就好像是将一个牢固的保险柜的钥匙放在了一个不怎么牢固的保险柜保管,因此在使用基于口令的密钥时,需要将盐和加密后的CEK通过物理方法进行保护。例如将盐和加密后的CEK保存到存储卡随身携带。

 在生成KEK时,通过多次使用单向散列函数就可以提高安全性。例如,将盐和口令输入单向散列函数,进行1000次的散列函数所得到的散列值作为KEK来使用,是一个不错的方法。
 像这样将单向散列函数进行多次迭代的方法称为 拉伸 (stretching)。

该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原着

❼ 文档加密怎么进行加密

给文件加密,我使用的是超级加密3000软件。超级加密3000软件有文件加密、文件夹加密、数据粉碎、文件夹保护、磁盘保护等功能。
下载安装超级加密3000软件。

在要加密的文件上单击鼠标右键,然后在弹出菜单中选择超级加密选项。
在弹出的文件加密窗口中输入文件加密密码,选择文件的加密类型,点击确定按钮就可以实现文件的加密了。用超级加密3000软件给文件加密非常的简单

❽ 如何改动md5加密算法生成纯数字密码

生成结果字符串逐字节 (C - 48) MOD 10 不就完了。
得到的是整型变量,需要字符型变量的话再+48

❾ iOS RSA加密生成公钥私钥

该命令生成一个模长 2048 位,名字为 rsa_private_key.pem 、 PKCS1 格式的 RSA 私钥文件.

genrsa :指定生成算法使用 RSA
-out :后面参数是生成的私钥的文件名
2048 :生成私钥的模长,单位字节(bits)

根据生成的私钥 rsa_private_key.pem 文件,生成公钥 rsa_public_key.pem 文件

生成名字为 rsa_pkcs8_private_key.pem 的私钥文件
Java Android 用到的密钥:
公钥: rsa_public_key.pem
私钥: rsa_pkcs8_private_key.pem

终端会提示输入国家、省市、所在地、组织、组织单位、常用名称、邮箱地址等信息,按要求填写(可以随便填写), 输入完对应信息后会提示输入一个密码 :

最终会生成 rsacert.csr 文件

用最开始生成的私钥 rsa_private_key.pem 和 rsacert.csr 证书请求文件生成一个数字证书 rsacert.crt

使用 x509 工具自建CA。由于 x509 无法建立证书请求文件,所以只能使用 openssl req 来生成请求文件,然后使用 x509 来自签署, 也可以用来签署他人的证书请求,即为他人颁发证书。

知识点 :
终端会提示设置密码,该密码是 .p12 私钥的密码(用 private_key.p12 私钥解密时, 要用到该密码, 需要记录下 ), 会提示再次输入检验刚才输入的密码.

❿ 哪个软件可以给文件做加密

一、文件夹加密超级大师 3.000
软件特色功能:

1 文件和文件夹的数据加密(真正的加密).
2 把文件和文件夹加密成EXE文件.
3 磁盘加锁和禁止使用USB设备.
4 文件夹伪装.
5 系统安全和优化.
6 系统垃圾清理.

名称 文件夹加密超级大师(最强悍的文件和文件夹加密软件)
版 本 3.000
更新日期 2005-12-12
操作系统 Win2000\XP\2003
软件大小 1.56MB

http://wxbsoft.nease.net/

软件简介:
功能强大的文件和文件夹加密和数据保护软件。
有超快和最强的文件和文件夹加密功能、数据保护功能,文件夹、文件的粉碎删除以及文件夹伪装等功能。
文件夹本机和隐藏加密功能可以瞬间加密你电脑里或移动硬盘上的文件夹,加密后在何种环境下通过其他软件都无法解密。同时防止复制、拷贝和删除。并且它不受系统影响,即使重装、Ghost还原,加密的文件夹依然保持加密状态。隐藏加密的文件夹不通过本软件无法找到和解密。
把文件夹和文件直接加密成Exe可执行文件。你可以将重要的数据以这种方法加密后再通过网络或其他的方法在没有安装[文件夹加密超级大师]的机器上使用。并且速度也特快,每秒可加密25 — 50M的数据。
数据保护功能,可防止你的数据被人为删除、复制、移动和重命名。
还支持加密文件夹的临时解密,文件夹临时解密后,可以自动恢复到加密状态。
文件加密后,没有正确的密码无法解密。解密后,加密文件依然保持加密状态。
文件夹和文件的粉碎删除,可以把你想删除但怕在删除后被别人用数据恢复软件恢复的数据彻底在电脑中删除。
文件夹伪装可以把文件夹伪装成回收站、CAB文件夹、打印机或其他类型的文件等,伪装后打开的是伪装的系统对象或文件而不是你伪装前的文件夹。
另外还有驱动器隐藏加锁等一些系统安全设置的功能。
本软件使用起来也十分简单,在要加密的文件夹或文件上单击右键选择[加密],然后设输入密码再按一下回车就可以了。解密时只要双击加密的文件夹或文件,输入正确密码即可。
本软件全面兼容所有基于NT内核的Windows系统,包括 NT/2000/XP/2003,支持FAT32 和 NTFS文件系统。

二、金锁文件夹加密特警是一款安全性极高的加密和彻底隐藏文件夹软件,只要记住一个密码,点几下鼠标,就可以随时保护和灵活使用文件夹,而且平时几乎不占系统资源,安全模式也有效哦。其它功能有文件夹加锁、伪装文件夹,屏幕锁,窗口隐藏,程序锁定,分区隐藏,邮件、文件加密、隐藏、粉碎等。
官方网址: http://www.keepsecret.net/cn/

三、高级加密软件,用于高级机密信息的加密保护与开放性通讯,也可用于个人文件资料及隐私信息的保护。加密速度快,在CPU为K6-2 450MHz的计算机上加密100MB的大文件仅需80秒。所加密生成的密文是一堆随机数字,并且在明文与密码都相同的情况下密文也会千变万化,永不重复。加密使用特殊算法,不可破解。可以作为一个强大的间谍工具。在WIN98/2000/XP上测试通过。网址:http://wwjkj.nease.net

四、加密奇兵专业版2005
http://lqweb.nease.net/cn/index.htm

绝对的硬性加密,绝非软加密。并且有完善的数据安全保护机制,真正捍卫你的数据安全。
没有使用期限的限制,可以永久试用。未注册版只是启动时弹出一个提示窗口,注册后不再弹出。

热点内容
foxmail设置服务器地址 发布:2025-07-13 05:52:35 浏览:463
电视怎么查看自己的配置 发布:2025-07-13 05:38:03 浏览:783
两台云服务器集群搭建 发布:2025-07-13 05:36:17 浏览:209
乐视手机突然关机四位密码是多少 发布:2025-07-13 05:35:36 浏览:28
促销缓存 发布:2025-07-13 05:34:53 浏览:490
c语言如何判断一个数是整数 发布:2025-07-13 05:34:50 浏览:491
关系运算符编译器 发布:2025-07-13 05:33:29 浏览:243
盗贼服务器不能用怎么办 发布:2025-07-13 05:33:28 浏览:345
初始化java 发布:2025-07-13 05:29:45 浏览:951
什么笔记本配置够玩守望先锋 发布:2025-07-13 05:29:45 浏览:397