导航:首页 > 文档加密 > 盐加密原理

盐加密原理

发布时间:2023-04-26 01:27:19

A. 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 学习”!

B. linux shadow 文件内容 用户名 密码 显示

shadow 是 passwd 的影子文件。

linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的密码,前两位是"盐"值,是一个随机数,后面跟的是加密的密码。为了
安全,现在的linux都提供了 /etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。
/etc/passwd文件的每个条目有7个域,分别是名字:密码:用户id:组id:用户信息:主目录:shell
例如:ynguo:x:509:510::/home/ynguo:/bin/bash
在利用了shadow文件的情况下,密码用一个x表示,普通用户看不到任何密码信息。影子口令文件保存加密的口令;/etc/passwd文件中的密码全部变成x。Shadow只能是root可读,从而保证了安全。
/etc/shadow文件每一行的格式如下:用户名:加密口令:上一次修改的时间(从1970年1月1日起的天数):口令在两次修改间的最小天数:口令修改之前向用户发出警告的天数:口令终止后账号被禁用的天数:从1970年1月1日起账号被禁用的天数:保留域。
例如:root:$1$t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172

下面为test用户设置密码,执行如下命令
passwd test
[root@localhost etc]# passwd test
Changing password for user test.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost etc]#
然后进入/etc/shadow文件下面可以看到如下信息
gdm:!!:14302:0:99999:7:::
hzmc:$1$JZMjXqxJ$bvRpGQxbuRiEa86KPLhhC1:14302:0:99999:7:::
mysql:!!:14315:0:99999:7:::
chenhua:$1$YBJZNyXJ$BnpKFD58vSgqzsyRO0ZeO1:14316:0:99999:7:::
test:$1$hKjqUA40$OelB9h3UKOgnttKgmRpFr/:14316:0:99999:7:::
可以发现,共有9个栏目
(1):帐号名称
(2):密码:这里是加密过的,但高手也可以解密的。要主要安全问题(代!符号标识该帐号不能用
来登录)
(3):上次修改密码的日期
(4):密码不可被变更的天数
(5):密码需要被重新变更的天数(99999表示不需要变更)
(6):密码变更前提前几天警告
(7):帐号失效日期
(8):帐号取消日期
(9):保留条目,目前没用

Unix
系统最初是用明文保存密码的,后来由于安全的考虑,采用crypt()算法加密密码并存放在/etc/passwd文件。现在,由
于计算机处理能力的提高,使密码破解变得越来越容易。/etc/passwd文件是所有合法用户都可访问的,大家都可互相看到密码的加密字符串,这给系统
带来很大的安全威胁。现代的Unix系统使用影子密码系统,它把密码从/etc/pa
sswd文件中分离出来,真正的密码保存在/etc/shadow文件中,shadow文件只能由超级用户访问。这样入侵者就不能获得加密密码串,用于破

解。使用shadow密码文件后,/etc/passwd文件中所有帐户的password域的内容为"x",如果password域的内容为"*",则
该帐号被停用。使用passwd这个程序可修改用户的密码。

C. 化盐桶的原理

化盐桶是知明核一种用于处理水质的装槐缺置,它的工作原理是:将水中的溶解盐(如氯化钠)通过电解分解成氯离子和钠离子,然后将氯搭掘离子通过气体换热器转换成氯气,最后将氯气排出,从而达到净化水质的目的。

D. 十大常见密码加密方式

一、密钥散列

采用MD5或者SHA1等散列算法,对明文进行加密。严格来说,MD5不算一种加密算法,而是一种摘要算法。无论多长的输入,MD5都会输出一个128位(16字节)的散列值。而SHA1也是流行的消息摘要算法,它可以生成一个被称为消息摘要的160位(20字节)散列值。MD5相对SHA1来说,安全性较低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。

二、对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

三、非对称加密

非对称加密算法是一种密钥的保密方法,它需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

四、数字签名

数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。

五、直接明文保存

早期很多这样的做法,比如用户设置的密码是“123”,直接就将“123”保存到数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。

六、使用MD5、SHA1等单向HASH算法保护密码

使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。

七、特殊的单向HASH算法

由于单向HASH算法在保护密码方面不再安全,于是有些公司在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质上的提升。

八、PBKDF2

该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。

九、BCrypt

BCrypt 在1999年就产生了,并且在对抗 GPU/ASIC 方面要优于 PBKDF2,但是我还是不建议你在新系统中使用它,因为它在离线破解的威胁模型分析中表现并不突出。

十、SCrypt

SCrypt 在如今是一个更好的选择:比 BCrypt设计得更好(尤其是关于内存方面)并且已经在该领域工作了 10 年。另一方面,它也被用于许多加密货币,并且我们有一些硬件(包括 FPGA 和 ASIC)能实现它。 尽管它们专门用于采矿,也可以将其重新用于破解。

E. 500g文件怎么存储

力破解之SHA-512破解(转载)
2023/1/23 9:31:35
原文来自:linux密码暴力破解之SHA-512破解

由于MD5加密已经发展了很多年,现在市面岁旅上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统密码开始采用SHA-512加密,与MD5加密相比,SHA-512加密后长度更长,也就意味着数念SHA-512相比MD5更加安全.
密码加密原理

在我们进行密码破解前,我们首先需要了解linux系统密码加密的原理:密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文

什么是ID?
ID用来表示加密的方法.
如下图,
1表示加密方法使用MD5,
6表示加密方法使用SHA-512

密文示例:
$6$D0xsORq3b7GGsbYv$7L8myKFcJf1FqnvtzD.Zcbx9PeHnwGH1YJm/

$id$salt$encrypted
采用方法 盐值 加密密文

——————————————
ID 加密方法
1 MD5
5 SHA-256
6 SHA-512
——————————————
什么是盐值(salt)?
盐值就是使用随机字符码混合密码加密算法所产生的密码,作用就是即使是同一个密码,使用同一种加密方式,所产生的密文值也不同
如上面提到的密文示例:

$6$D0xsORq3b7GGsbYv #这一段就是盐值,在加密的时候连同前面的ID一起加密
什么是密文?
这个我就不多介绍了,同上面的密文示例

7L8myKFcJf1FqnvtzD.Zcbx9PeHnwGH1YJm/ #这一段就是密文了
了解了原理,我们就可以使用工具来进行密码的暴力破解了
这里采用是利用python进行破解.

需要用到python下的 crypt 这个库,这个库下的.crypt方法可以根据猜想的密码原文和盐值薯雀困来生成加密后的完整密文。

简单的讲一下思路:
1.获取到盐值
2.将获取的盐值和猜想的密码通过crypt.crypt()加密

F. 单点登陆TOKEN的处理

API接口的安全性主要是为了保证数据不会被篡改和重复调用,实现方案主要围绕Token、时间戳和Sign三个机制展开设计。

1. Token授权机制
用户使用用户名密码登录后服务器给客户端返回一个Token(必须要保证唯一,可以结合UUID和本地设备标示),并将Token-UserId以键滑瞎伏值对的形式存放在缓存服务器中(我们是使用Redis),并要设置失效时间。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。Token是客户端访问服务端信携的凭证。

2. 时间戳超时机制
用户每次请求都带上当前时间的时间戳timestamp,服务端接收到timestamp后跟当前时间进行比对,如果时间差大于一定时间(比如30秒),则认为该请求失效。时间戳超时机制是防御重复调用和爬取数据的有效手段。
当然这里需要注意的地方是保证客户端和服务端的“当前时间”是一致的,我们采取的对齐方式是客户端第一次连接服务端时请求一个接口获取服务端的当前时间A1,再和客户端的当前时间B1做一个差异化计算(A1-B1=AB),得出差异值AB,客户端再后面的请求中都是传B1+AB给到服务端。

3. API签名机制
将“请求的API参数”+“时间戳”+“盐”进行MD5算法加密,加密后的数据就是本次请求的签名signature,服务端接收到请求后以同样的算法得到签名,并跟当前的签名进行比对,如果不一样,说神嫌明参数被更改过,直接返回错误标识。签名机制保证了数据不会被篡改。

4. 注意事项

5. 安全保障总结
在以上机制下,
如果有人劫持了请求,并对请求中的参数进行了修改,签名就无法通过;
如果有人使用已经劫持的URL进行DOS攻击和爬取数据,那么他也只能最多使用30s;
如果签名算法都泄露了怎么办?可能性很小,因为这里的“盐”值只有我们自己知道。

G. 密码加密的方法有那些

用户密码加密方式

用户密码保存到数据库时,常见的加密方式有哪些?以下几种方式是常见的密码保存方式:

1. 明文保存

比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。

2. 对称加密算法来保存

比如3DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的,当然前提条件是需要获取到密钥。不过既然大量的用户信息已经泄露了,密钥很可能也会泄露,当然可以将一般数据和密钥分开存储、分开管理,但要完全保护好密钥也是一件非常复杂的事情,所以这种方式并不是很好的方式。

总结

采用PBKDF2、bcrypt、scrypt等算法可以有效抵御彩虹表攻击,即使数据泄露,最关键的“用户密码”仍然可以得到有效的保护,黑客无法大批量破解用户密码,从而切断撞库扫号的根源。

【加密软件编辑推荐】
易控网盾加密软件--重要文件防泄密专家!轻松实现单位内部文件自动加密保护,加密后的文件在单位内部正常流转使用。未经许可,任何私自拷贝加密文件外发出去,都将打开为乱码,无法使用!对于发送给客户等第三方的文件,可实现控制打开时间和打开次数等防泄密参数!同时可设置对员工电脑文件自动备份,防止恶意删除造成核心数据的遗失!从源头防止企业核心文件被外泄!
相关页面:加密软件,文件加密,文档加密,图纸加密软件,防泄密软件,CAD加密软件,文件外发加密

H. 加盐的hash口令机制可以抵御重放攻击。是否正确

盐值加密使用的是hash算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节碰哗)的散列值(hash value)。

也就是一共有2^128种可能,大概是3.4*10^38,这个笑敏行数字是有限多个的,而但是世界上可以被用来加密的原文则会有无数的可能性。

2009年,中国科学院的谢涛和冯登国仅用了220.96的碰撞算法复杂度,破解了盐值加密的碰撞抵抗,该攻拿芦击在普通计算机上运行只需要数秒钟。

我使用过盐值加密碰撞生成器,可以生成两个盐值加密相同但是内容不同的文件。

I. 盐酸有什么危害

问题一:盐酸危害有哪些 健康危害: 接触其蒸气或烟雾,可引起急性中毒,出现眼结膜炎,鼻及口腔粘膜有烧灼感,鼻衄、齿龈出血,气管炎等。误服可引起消化道灼伤、溃疡形成,有可能引起胃穿孔、腹膜炎等。眼和皮肤接触可致灼伤。慢性影响:长期接触,引起慢性骇炎、慢性支气管炎、牙齿酸蚀症及皮肤损害。 环境危害: 对环境有危害,对水体和土壤可造成污染。 燃爆危险: 本品不燃,具强腐蚀性、强 *** 性,可致人体灼伤。 毒理学资料及环境行为 急性毒性:LD50900mg/kg(兔经口);LC503124ppm,1小时(大鼠吸入) 危险特性:能与一些活性金属粉末发生反应,放出氢气。遇氰化物能产生剧毒的氰化氢气体。与碱发生中合反应,并放出大量的热。具有强腐蚀性。 燃烧(分解)产物:氯化氢。

问题二:盐酸的危害性 【盐酸的危害性的原理】盐酸是极强的无机酸,具强腐蚀性、强 *** 性;浓缩的盐酸会形成酸雾,酸雾和盐酸溶液都对动植物组织有腐蚀性的效果,对人类而言有损害呼吸器官、眼睛、皮肤和肠道的可能。盐酸可与常见的氧化剂,例如次氯酸钠(漂白剂,NaClO)或次氯酸钙(Ca(ClO)2)等发生氧化还原反应,产生有毒的氯气气体,少量吸入会导致不适。
【盐酸的危害性】
1、健康危扮空慧害:厅答接触其蒸气或烟雾,可引起急性中毒:出现眼结膜炎,鼻及口腔粘膜有烧灼感,鼻出血、齿龈出血,气管炎等。误服可引起消化道灼伤、溃疡形成,有可能引起胃穿孔、腹膜炎等。眼和皮肤接触可致灼伤。
2、慢性影响:长期接触,引起慢性鼻炎、慢性支气管炎、牙齿酸蚀症及皮肤损害。
3、环境危害:对环境有危害,对水体和土壤可造成污染。对动植物纤维和人体肌肤均有腐蚀作用。
4、燃爆危险:该品不燃。具强腐蚀性、强 *** 性,可致人体灼伤。

问题三:盐酸的危害? 盐酸的危害
高浓度盐酸对鼻粘膜和结膜有 *** 作用,会出现角膜浑浊、嘶哑、窒息感、胸痛、鼻炎、咳嗽,有时痰中带血。盐酸雾可导致眼脸部皮肤剧烈疼痛。如发生事故,应立即将受伤者移到新鲜空气处输氧,清洗眼睛和鼻,并用2%的苏打水漱口。浓盐酸溅到皮肤上,应立即用大量水冲洗5至10分钟,在烧伤表面涂上苏打浆。严重者送医院治疗。
纯氯化氢为无色有 *** 性和臭味的气味。其水溶液即盐酸,纯盐酸无色,工业品因含有铁、氯等杂质,略带微黄色。相对密度1.187。氯化氢熔点-114.8℃。沸点-84.9℃。易溶于水,有强烈的腐蚀性,能腐蚀金属,对动植物纤维和人体肌肤均有腐蚀作用。浓盐酸在空气中发烟,触及氨蒸气会生成白色云雾。氯化氢气体对动植物有害。盐酸是极强的无机酸,与金属作用能生成金属氯化物并放出氯;与金属氧化物作用生成盐和水;与碱起中和反应生成盐和水;与盐类能起复分解反应生成新的盐和新的酸。

问题四:盐酸对人有亏肆什么危害 盐酸不燃,具强腐蚀性、强 *** 性,可致人体灼伤。它能与一些活性金属粉末发生反应, 放出氢气。遇氰化物能产生剧毒的氰化氢气体。与碱发生中和反应,并放出大量的热。具有较强的腐蚀性。接触盐酸蒸气或烟雾,可引起急性中毒,出现眼结膜炎,鼻及口腔粘膜有烧灼感,鼻衄、齿龈出血,气管炎等。误服可引起消化道灼伤、溃疡形成,有可能引起胃穿孔、腹膜炎等。眼和皮肤接触可致灼伤。长期接触,引起慢性鼻炎、慢性支气管炎、牙齿酸蚀症及皮肤损害。远离易燃、可燃物。防止蒸气泄漏到工作场所空气中。避免与碱类、胺类、碱金属接触。搬运时要轻装轻卸,防止包装及容器损坏。配备泄漏应急处理设备。倒空的容器可能残留有害物。

问题五:盐酸高对身体的害处 盐酸没有毒性,主要是腐蚀危害。
首先盐酸当然是不能直接接触身体的,对皮肤有伤害。
当你能够嗅到盐酸气味的时候说明盐酸分子已经进入你的鼻腔,长期下来可能对鼻腔粘膜造成损害,因为盐酸主要的危害是腐蚀。建议每次下班后回家立即洗澡(用浴液香皂洗即可因为它们都是碱性的),洗掉附着在皮肤上的盐酸。

问题六:盐酸对人体危害有多大 盐酸是强酸,氢氧化钠是强碱(也叫苛性碱)如果接触皮肤,则将会引起对皮肤的严重腐蚀(强酸)和烧伤,甚至可能由于严重的烧伤等使皮肤和肌体组织的正常循环被破坏,最终可能导致身体的循环出现衰竭现象而憨及生命.如果经抢救治疗后也将在伤处形成永久性的疤痕.还有盐酸在接触空气后,蒸发出的黄色烟雾-----氯化氢气体,将对人的眼睛,皮肤,特别是呼吸道产生比较严重的损伤.

问题七:工业盐酸对身体有什么危害? 高浓度盐酸对鼻粘膜和结膜有 *** 作用,会出现角膜浑浊、嘶哑、窒息感、胸痛、鼻炎、咳嗽,有时痰中带血。盐酸雾可导致眼脸部皮肤剧烈疼痛。如发生事故,应立即将受伤者移到新鲜空气处输氧,清洗眼睛和鼻,并用2%的苏打水漱口。浓盐酸溅到皮肤上,应立即用大量水冲洗5至10分钟,在烧伤表面涂上苏打浆。严重者送医院治疗。
纯氯化氢为无色有 *** 性和臭味的气味。其水溶液即盐酸,纯盐酸无色,工业品因含有铁、氯等杂质,略带微****。相对密度1.187。氯化氢熔点-114.8℃。沸点-84.9℃。易溶于水,有强烈的腐蚀性,能腐蚀金属,对动植物纤维和人体肌肤均有腐蚀作用。浓盐酸在空气中发烟,触及氨蒸气会生成白色云雾。氯化氢气体对动植物有害。盐酸是极强的无机酸,与金属作用能生成金属氯化物并放出氯;与金属氧化物作用生成盐和水;与碱起中和反应生成盐和水;与盐类能起复分解反应生成新的盐和新的酸。

问题八:盐酸对人体有害吗 5分 是氯化氢水溶液。浓盐酸具有强挥发性和腐蚀性,具有 *** 性气味,能和很多金属发生反映。对人体是有害的。一般我们使用的盐酸不是浓盐酸。 如是清除一般污渍用稀盐酸就可以了。不会有太大危害!
盐酸的主要化学成分是氯化氢,它的的化学式是HCL。盐酸是氯化氢的水溶液,它的浓度最高不会超过37%。盐酸具有很强的腐蚀性,挥发性。浓度越高挥发的越严重。对人体谈不上毒性丹但是确是有腐蚀性,这也是人忍受不了的啊。所以,在使用时,应作好防护措施,特别是皮肤,和口鼻等。

问题九:盐酸的危害性? 健康危害:接触其蒸气或烟雾,可引起急性中毒,出现眼结膜炎,鼻及口腔粘膜有烧灼感,鼻衄、齿龈出血,气管炎等。误服可引起消化道灼伤、溃疡形成,有可能引起胃穿孔、腹膜炎等。眼和皮肤接触可致灼伤。慢性影响:长期接触,引起慢性鼻炎、慢性支气管炎、牙齿酸蚀症及皮肤损害。
环境危害: 对环境有危害,对水体和土壤可造成污染。
燃爆危险: 该品不燃,具强腐蚀性、强 *** 性,可致人体灼伤。

问题十:盐酸泄露后有哪些危害? 盐酸(IUPAC名:chlorane[1] )是氯化氢(英语:hydrochloric acid;化学式:HCl)的水溶液,又名氢氯酸 ,属于一元无机强酸,工业用途广泛。盐酸的性状为无色透明的液体,有强烈的刺鼻气味,具有较高的腐蚀性。
浓盐酸(质量分数约为37%)具有极强的挥发性,因此盛有浓盐酸的容器打开后氯化氢气体会挥发,与空气中的水蒸气结合产生盐酸小液滴,使瓶口上方出现酸雾。盐酸是胃酸的主要成分,它能够促进食物消化、抵御微生物感染。
盐酸侵入人体的途径主要是口鼻吸入或食入,还能 *** 皮肤。对健康的危害如下:接触其蒸汽或烟雾,引起眼结膜炎,鼻及口腔粘膜有烧灼感,鼻衄、齿龈出血、气管炎,并引起慢性支气管炎等病变; *** 皮肤能引发皮炎。误食酸盐中毒,能引起消化道灼伤和溃疡,严重的有可能导致胃穿孔、腹膜炎等。若发生皮肤接触,立即用水冲洗至少15分钟,或用2%碳酸氢纳溶液冲洗;若有灼伤,应到医院治疗。眼睛接触,应立即提起眼睑,用流动清水冲洗10分钟或用2%碳酸氢纳溶液冲洗。呼吸道吸入,应迅速脱离现场至空气新鲜处;呼吸困难时要立即给氧,并将2%-4%碳酸氢纳溶液雾化后吸入并就医。若从食道进入,误服者应立即漱口,并口服牛奶、蛋清、植物油等,不可催吐,立即就医。
工程控制是防止盐酸伤人根本性措施,生产场所应注意通风,管道容器应严加密闭,操作人员不能暴露于有盐酸蒸汽或烟雾的环境中,尽可能以机械化、自动化取代手中操作。呼吸系统防护、眼睛防护、身体防护、手防护等,都必不少的个人防护,以防工程措施的失效
。呼吸系统防护主要是指在可能接触盐酸蒸汽或烟雾时,必须佩戴防毒面具或供气式头盔;在紧急事态抢救或逃生时,应佩戴自给式呼吸器。戴化学安全防护眼镜是确保眼睛不受伤害。戴橡皮手套和穿防腐材料制作的工作服,是为了保护手和身体安全。再就要保持良好的个人卫生习惯,作业后要淋浴更衣;被盐酸污染过的衣服要单独存放,洗后再用。

J. 开发中常见的加密方式及应用

开发中常见的加密方式及应用

一、base64

简述:Base64是网络上最常见的用于传输8Bit 字节码 的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。所有的数据都能被编码为并只用65个字符就能表示的文本文件。( 65字符:A~Z a~z 0~9 + / = )编码后的数据~=编码前数据的4/3,会大1/3左右(图片转化为base64格式会比原图大一些)。

应用:Base64编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一 标识符 (一般为128-bit的UUID)编码为一个字符串,用作HTTP 表单 和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制 数据编码 为适合放在URL(包括隐藏 表单域 )中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。

命令行进行Base64编码和解码

编码:base64 123.png -o 123.txt

解码:base64 123.txt -o test.png -D Base64编码的原理

原理:

1)将所有字符转化为ASCII码;

2)将ASCII码转化为8位二进制;

3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位;

4)统一在6位二进制前补两个0凑足8位;

5)将补0后的二进制转为十进制;

6)从Base64编码表获取十进制对应的Base64编码;

Base64编码的说明:

a.转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。

b.数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6个bit,按照其值选择查表选择对应的字符作为编码后的输出。

c.不断进行,直到全部输入数据转换完成。

d.如果最后剩下两个输入数据,在编码结果后加1个“=”;

e.如果最后剩下一个输入数据,编码结果后加2个“=”;

f.如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。

二、HASH加密/单向散列函数

简述:Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度(32个字符)的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。对用相同数据,加密之后的密文相同。 常见的Hash算法有MD5和SHA。由于加密结果固定,所以基本上原始的哈希加密已经不再安全,于是衍生出了加盐的方式。加盐:先对原始数据拼接固定的字符串再进行MD5加密。

特点:

1) 加密 后密文的长度是定长(32个字符的密文)的

2)如果明文不一样,那么散列后的结果一定不一样

3)如果明文一样,那么加密后的密文一定一样(对相同数据加密,加密后的密文一样)

4)所有的加密算法是公开的

5)不可以逆推反算(不能根据密文推算出明文),但是可以暴力 破解 ,碰撞监测

原理:MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要。

1)数据填充

对消息进行数据填充,使消息的长度对512取模得448,设消息长度为X,即满足X mod 512=448。根据此公式得出需要填充的数据长度。

填充方法:在消息后面进行填充,填充第一位为1,其余为0。

2)添加信息长度

在第一步结果之后再填充上原消息的长度,可用来进行的存储长度为64位。如果消息长度大于264,则只使用其低64位的值,即(消息长度 对264取模)。

在此步骤进行完毕后,最终消息长度就是512的整数倍。

3)数据处理

准备需要用到的数据:

4个常数:A = 0x67452301, B = 0x0EFCDAB89, C = 0x98BADCFE, D = 0x10325476;

4个函数:F(X,Y,Z)=(X & Y) | ((~X) & Z);G(X,Y,Z)=(X & Z) | (Y & (~Z));H(X,Y,Z)=X ^ Y ^ Z;I(X,Y,Z)=Y ^ (X | (~Z));

把消息分以512位为一分组进行处理,每一个分组进行4轮变换,以上面所说4个常数为起始变量进行计算,重新输出4个变量,以这4个变量再进行下一分组的运算,如果已经是最后一个分组,则这4个变量为最后的结果,即MD5值。

三、对称加密

经典算法:

1)DES数据加密标准

DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。

2)3DES使用3个密钥,对消息进行(密钥1·加密)+(密钥2·解密)+(密钥3·加密)

3)AES高级加密标准

如图,加密/解密使用相同的密码,并且是可逆的

四、非对称加密

特点:

1)使用公钥加密,使用私钥解密

2)公钥是公开的,私钥保密

3)加密处理安全,但是性能极差

经典算法RSA:

1)RSA原理

(1)求N,准备两个质数p和q,N = p x q

(2)求L,L是p-1和q-1的最小公倍数。L = lcm(p-1,q-1)

(3)求E,E和L的最大公约数为1(E和L互质)

(4)求D,E x D mode L = 1

五、数字签名

原理以及应用场景:

1)数字签名的应用场景

需要严格验证发送方身份信息情况

2)数字签名原理

(1)客户端处理

对"消息"进行HASH得到"消息摘要"

发送方使用自己的私钥对"消息摘要"加密(数字签名)

把数字签名附着在"报文"的末尾一起发送给接收方

(2)服务端处理

对"消息" HASH得到"报文摘要"

使用公钥对"数字签名"解密

对结果进行匹配

六、数字证书

简单说明:

证书和驾照很相似,里面记有姓名、组织、地址等个人信息,以及属于此人的公钥,并有认证机构施加数字签名,只要看到公钥证书,我们就可以知道认证机构认证该公钥的确属于此人。

数字证书的内容:

1)公钥

2)认证机构的数字签名

证书的生成步骤:

1)生成私钥openssl genrsa -out private.pem 1024

2)创建证书请求openssl req -new -key private.pem -out rsacert.csr

3)生成证书并签名,有效期10年openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt

4)将PEM格式文件转换成DER格式openssl x509 -outform der -in rsacert.crt -out rsacert.der

5)导出P12文件openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt

iOS开发中的注意点:

1)在iOS开发中,不能直接使用PEM格式的证书,因为其内部进行了Base64编码,应该使用的是DER的证书,是二进制格式的;

2)OpenSSL默认生成的都是PEM格式的证书。

七、https

HTTPS和HTTP的区别:

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS和HTTP的区别主要为以下四点:

1)https协议需要到ca申请证书,一般免费证书很少,需要交费。

2)http是 超文本传输协议 ,信息是明文传输,https则是具有 安全性 的 ssl 加密传输协议。

3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的 网络协议 ,比http协议安全。

5)SSL:Secure Sockets Layer安全套接字层;用数据加密(Encryption)技术,可确保数据在网络上传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之I.E.或Netscape 浏览器 即可支持SSL。目前版本为3.0。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

阅读全文

与盐加密原理相关的资料

热点内容
差分演化算法 浏览:565
中山市加密软件 浏览:442
mc反编译源码 浏览:137
企业商城网站源码 浏览:409
shell脚本编程是什么 浏览:758
单片机led闪烁汇编 浏览:203
点淘app怎么没金蛋了 浏览:878
app拉新哪里找推广码 浏览:935
哪个app生活服务好 浏览:108
mht安卓用什么软件打开 浏览:320
html5即时通讯源码 浏览:144
python编程基础豆瓣 浏览:710
程序员乱码是什么意思 浏览:372
交友app怎么删除动态 浏览:92
男士穿衣哪个app好 浏览:38
如何把桌面软件改造成app 浏览:742
我的世界如何打开最近玩的服务器 浏览:386
程序员试用期汇报问题协助怎么写 浏览:129
抖音算法到底是什么 浏览:130
哪个vlan技术对报文加密 浏览:574