首页 > 编程知识 正文

为什么大多数是web开发,前端数据加密的三种方式

时间:2023-05-05 08:11:46 阅读:45174 作者:906

当今,信息安全越来越受到重视,WEB开发中的各种加密也变得更加重要。 通常,在与服务器的交换中,为了确保数据传输的安全性,避免数据包篡改数据,不仅需要https的应用,还需要对传输数据进行解码。 查一下今天有什么常见的加密方式。

单向散列加密单向散列(hash )加密是一种很难将任意长度的输入串变为固定长度的输出串,从输出串中得到输入串的加密方法,该方法被称为离散散列密码。 它广泛用于加密敏感数据,包括用户密码、请求参数和文件加密。 我们的开发中为了保存用户密码使用了单向散列加密算法。

常见的单向散列加密算法如下:

MD5SHAMACCRC单向散列加密算法的优点有(以MD5为例) :

方便的存储:所有加密字符串都是固定大小(32位),允许分配固定大小的空间存储。 低损耗:加密/加密造成的性能损失很小。 文件加密:只需32位字符串即可验证一个大文件的完整性。 不可逆:往往不可逆,具有良好的安全性。 单向散列加密的缺点可能被暴力破解,希望通过添加盐分来提高安全性,同时也可能存在散列冲突。 我们知道MD5加密也可以解密。

在PHPer的情况下,md5 ) )的单向散列算法,该单向散列算法足以创建密码散列(hash ),而不是简单加密,以使加密数据更安全可靠。) 对用户密码的加密存储和认证支持相当好。

示例代码:

//密码加密$password='123456 '; $ password hash=password _ hash ($ password,PASSWORD_DEFAULT,' ['cost'=12] ); //密码验证使用与if(password_verify ) password,$passwordHash )/success}else(//fail )对称加密相同的密钥作为数据加密和解密应用于相对大的数据量或重要数据的加密场景。 我们开发中常用的接口参数签名验证服务使用对称加密算法。

常见的对称加密算法如下:

DESAESAES是DES的升级版,密钥长、选项多、灵活、安全、快速。

对称加密优点公开了一种算法,计算量小,加密速度快,加密效率高。

缺点必须在发送方和接收方商定密钥后,双方才能保存密钥,密钥管理是双方的负担。

对称算法的安全性依赖于密钥,密钥的泄露意味着每个人都可以解密发送和接收的消息,因此密钥的机密性对于通信的安全性很重要。

PHP样品

//DES加密$ key=' 123 kils 1321 dshfdsvcxpusdaq 23 '; //安全密钥$ data=' name=iphone 11 order _ id=2012332323123 price=3357 num=2'; //明文加密$ decodedata=OpenSSL _ encrypt ($ data,' DES-ECB ',$key,0 ); 使用PHP附带的openssl_encrypt加密方法对数据进行DES加密的结果如下所示。

o C3 pdhugnue/T3 i8 hfx JD 9y up9bnt LG0re9R1 U2 fszr0ju2hipcijr0bruawnsigkqulrnhgym8=

另一方获得密文后,使用同一密钥使用openssl_decrypt ()对密文进行DES解密。

$ key=' 123 kils 1321 dshfdsvcxpusdaq 23 '; //安全密钥$ decodedata=' o C3 pdhugnue/T3 i8 hfx JD 9y up9bnt LG0re9R1 U2 fszr0ju2hipcijr0bruawnsigkqulrnhgym8='; $ de=OpenSSL _ decrypt ($ decodedata,' DES-ECB ',$key,0 ); echo $de; 执行代码并最终解密的结果:

name=iphone 11 order _ id=201233232323123 price=3357 num=2

DES-ECB是一种加密方法,可以在php官方文档中看到更多的加密方法。 https://www.PHP.net/manual/zh/function.OpenSSL-get-cipher-methods.PHP

不对称加密不对称加密是指用于加密和解密的两个密钥,这两个私钥分别是公钥(公共密钥)和私钥(私有密钥),这种方法被称为不对称加密。 非对称加密适用于要求安全性的场景,适用于加密支付数据、CA数字证书等少量数据。

常用的非对称加密算法为RSARSA2

不对称加密的优点比对称加密更安全,加密和解密需要不同的密钥,公钥和私钥可以相互加密。

缺点适用于加密和解密耗时、速度慢、仅加密少量数据。

非对称加密算法的RSA2比RSA具有更强的安全能力。 蚂蚁金服新浪微博使用的是RSA2算法。

要创建公钥和私钥:

当OpenSSL genrsa-out private _ key.PEM 2048 OpenSSL RSA-in private _ key.PEM-pub out-out public _ key.PEM运行上述命令时

有关具体的示例代码将在后续文章中说明,请注意。

前端加密前端朋友可能会关注前端js加密,但我们在创建WEB登录功能时会通过表单提交或Ajax方式提交到服务器进行验证。 为了防止出现撕裂,请确保将登录密码加密(RSA )一次,然后提交给服务器进行认证。 淘宝、京东、新浪等大型企业正在使用。

前端加密也有许多现成的js库,包括:

js-RSA :用于执行OpenSSL RSA加密、解密和密钥生成的Javascript库,https://github.com/travist/js encrypt

MD5 )单向散列加密md5 js库,https://github.com/blue imp/JavaScript-MD5

crypto-js :对称加密AES js库,https://github.com/brix/crypto-js

本文来源于helloweba.net

链接: https://www.helloweb a.net/news/629.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。