搜尋
首頁後端開發PHP問題php加密的作用
php加密的作用Sep 17, 2019 am 11:42 AM
php加密

php加密的作用

php加密的作用

#加密:為了做資料加密,不被看到明文。

在php的開發過程中,常常需要對部分資料(如使用者密碼)進行加密

一、加密類型:

1.單向雜湊加密

就是把任意長度的資訊進行雜湊計算,得到固定長度的輸出,這個雜湊計算過程是單向的,也就是不能對固定長度的輸出資訊進行計算從而得到輸入資訊。

(1)特徵:雪崩效應、定長輸出和不可逆。

(2)作用是:確保資料的完整性。

(3)加密演算法:md5(標準金鑰長度128位元)、sha1(標準金鑰長度160位元)、md4、CRC-32

2.對稱雜湊加密

對稱加密是指加密和解密是使用同一個金鑰,或者可以互相推算。

(1)加密方和解密方使用同一個金鑰。

(2)加密解密的速度比較快,適合資料比較長時的使用。

(3)金鑰傳輸的過程不安全,且容易被破解,金鑰管理也比較麻煩。

(4)加密演算法:DES(Data Encryption Standard)、3DES、AES(Advanced Encryption Standard,支援128、192、256、512位元金鑰的加密)、Blowfish。

3.非對稱雜湊加密

非對稱加密和解密使用的不是同一個金鑰,其中一個對外公開,稱作公鑰,另一個只有所屬者知道,稱作私鑰。

(1)每個使用者都擁用一對金鑰加密:公鑰和私鑰。

(2)公鑰加密,私鑰解密;私鑰加密,公鑰解密。

(3)公鑰傳輸的過程不安全,容易被竊取和取代。

(4)由於公鑰使用的金鑰長度非常長,所以公鑰加密速度非常慢,一般不使用其去加密。

(5)某一個使用者用其私鑰加密,其他使用者用其公鑰解密,實現數位簽章的功能。

(6)公鑰加密的另一個作用是實現金鑰交換。

(7)加密與簽章演算法:RSA、ELGamal。

(8)公鑰簽章演算法:DSA。

註解:

(1)RSA:由RSA 公司發明,是一個支援變長金鑰的公共金鑰演算法,需要加密的檔案區塊的長度也是可變的;

(2)DSA(Digital Signature Algorithm):數位簽章演算法,是一種標準的DSS(數位簽章標準);

(3)由於非對稱加密演算法的運行速度比對稱加密演算法的速度慢很多,當我們需要加密大量的資料時,建議採用對稱加密演算法,提高加解密速度。

對稱加密演算法不能實現簽名,因此簽名只能非對稱演算法。

(4)由於對稱加密演算法的金鑰管理是一個複雜的過程,金鑰的管理直接決定著他的安全性,因此當資料量很小時,我們可以考慮採用非對稱加密演算法。

(5)在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演算法管理對稱演算法的金鑰,然後用對稱加密演算法加密數據,這樣我們就整合了兩類加密演算法的優點,既實現了加密速度快的優點,也實現了安全方便管理金鑰的優點。

二、php中常用的加密函數:

1.MD5加密:

string md5 ( string $str [, bool $raw_output = false ] )

(1)md5()預設情況下以32字元十六進位數字形式傳回雜湊值,它接受兩個參數,第一個要加密的字串,第二個為raw_output的布林值,

預設為false,如果設定為true,md5()則會傳回原始的16 位元二進位格式封包摘要

(2)md5()為單向加密,沒有逆向解密演算法,但還是可以對一些常見的字串透過收集,枚舉,碰撞等方法破解

2.Crypt加密:

string crypt ( string $str [, string $salt ] )

(1)crypt()接受兩個參數,第一個為需要加密的字串,第二個為鹽值(就是加密幹擾值,如果沒有提供,則預設由PHP自動產生);

傳回散列後的字串或一個少於13 字元的字串,後者為了區別鹽值。

(2)crypt()為單向加密,跟md5一樣。

3.Sha1加密:

string sha1 ( string $str [, bool $raw_output = false ])

(1)跟md5很像,不同的是sha1()預設回傳40個字元的雜湊值,傳入參數性質一樣,第一個為加密的字串,

第二個為raw_output的布林值,預設為false,如果設定為true,sha1()則會傳回原始的20 位元原始格式封包摘要

(2)sha1()也是單行加密,沒有逆向解密演算法

4.Urlencode加密:

 string urlencode ( string $str )

(1)一個參數,傳入要加密的字串(通常應用於對URL的加密)

(2)urlencode為雙向加密,可以用urldecode來加密(嚴格意義上來說,不算真正的加密)

(3)回傳字符串,此字串中除了-_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進制數,空格則編碼為加號( )。

(3)常見的urlencode()的轉換字元

    ? => %3F
    = => %3D
    % => %25
    & => %26
    \ => %5C
空格 => %5C

5.base64编码加密:

string base64_decode ( string $encoded_data )

(1)base64_encode()接受一个参数,也就是要编码的数据(这里不说字符串,是因为很多时候base64用来编码图片)

(2)base64_encode()为双向加密,可用base64_decode()来解密

以上是php加密的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP加密解密方法及常见问题解决方案PHP加密解密方法及常见问题解决方案Jun 09, 2023 pm 01:50 PM

PHP是一种流行的服务器端编程语言,广泛用于Web应用程序开发中。在实际应用中,PHP加密解密是非常常见的操作。本文将介绍PHP中常见的加密解密方法,以及常见问题的解决方案。一、加密方法1.对称加密法(SymmetricCryptography)对称加密法是加密技术中应用最广泛的一种方法。该方法使用相同的密钥对数据进行加密和解密。在PHP中,常用的对称加密

PHP如何实现数据加密、解密和传输,保障数据安全性PHP如何实现数据加密、解密和传输,保障数据安全性Jun 27, 2023 am 10:44 AM

随着网络技术的不断发展,数据安全性越来越受到人们的关注。在这个信息化时代,PHP作为一种广泛应用的编程语言,也面临着数据安全问题。本文会给大家介绍如何使用PHP实现数据加密、解密以及传输,保障数据安全性。一、数据加密数据加密是指对原始数据进行处理,使其变成一段看似随机的字符,以达到对原始数据的保护的一种技术。加密分单向加密和对称加密。单向加密指只能进行加密操

使用PHP数组实现数据加密和解密的方法和技巧使用PHP数组实现数据加密和解密的方法和技巧Jul 16, 2023 pm 04:02 PM

使用PHP数组实现数据加密和解密的方法和技巧摘要:数据加密在信息安全中扮演着重要的角色。本文将介绍使用PHP数组实现数据加密和解密的方法和技巧,以便保护敏感信息的安全。引言在现代社会,网络安全问题日益引起人们的关注。为了保护敏感信息的安全,数据加密是一种常用的方式。PHP数组是一种强大而灵活的数据结构,可以用于存储和操作数据。通过将敏感数据存储在PHP数组中

如何利用PHP加密技术来保护注册过程,防止被刷注册如何利用PHP加密技术来保护注册过程,防止被刷注册Aug 19, 2023 pm 12:05 PM

如何利用PHP加密技术来保护注册过程,防止被刷注册在今天的互联网时代,注册系统已经成为了任何一个网站的基本功能。然而,由于网络的开放性和自由访问性,一些不法分子常常利用自动化脚本进行恶意注册,给网站的正常运营带来了麻烦。因此,保护注册过程并防止被刷注册成为了非常重要的任务。为了保护注册过程,并防止被刷注册,我们可以利用PHP加密技术来增强注册系统的安全性。下

PHP中的加密与解密技术及常见问题解决方案PHP中的加密与解密技术及常见问题解决方案Jun 09, 2023 pm 12:36 PM

随着网络技术的普及,网络安全问题已经成为了人们越来越关注的话题,加密与解密技术也因此而备受关注。在PHP编程中,加密与解密技术是非常重要的一部分,它可以帮助我们保证数据的安全性,防止数据被盗取和恶意攻击。本文将介绍PHP中常用的加密与解密算法以及解决方案。一、加密与解密技术的作用在网络中,数据的传输往往会遇到很多不安全的情况,例如数据被不法之徒拦截、篡改、窃

PHP中的加密和解密PHP中的加密和解密May 26, 2023 pm 12:51 PM

在Web开发中,安全一直是最重要的问题之一。密钥的泄漏、数据的篡改和窃取等风险一直存在,因此,保护数据的安全性就显得尤为重要。为了保证数据的安全性,我们通常采用加密和解密的方式来进行数据处理。在PHP中,加密和解密也是很重要的一部分。一、PHP中的加密方式在PHP中,加密有很多种方式,下面我们将介绍几种常用的加密方式。md5加密md5是一种常用的加密方式。它

PHP开发技巧:如何实现数据加密和解密功能PHP开发技巧:如何实现数据加密和解密功能Sep 21, 2023 am 08:51 AM

PHP开发技巧:如何实现数据加密和解密功能在现代的Web应用程序中,数据安全是一个非常重要的问题。当用户的敏感数据需要传输或存储时,我们通常需要对其进行加密以保护数据的安全性。在PHP开发中,提供了多种加密方法和技术,本文将介绍如何使用PHP实现数据加密和解密功能,并提供具体的代码示例。一、对称加密和解密对称加密是一种使用相同密钥进行加密和解密的方法。在PH

PHP安全敏感数据的加解密技术分析PHP安全敏感数据的加解密技术分析Jun 30, 2023 pm 02:01 PM

PHP中的安全敏感数据加解密技术解析随着互联网的发展,数据安全成为了一个重要的议题。对于网站开发者来说,如何保护用户的敏感数据显得尤为重要。在PHP中,我们可以使用各种加解密技术来保护敏感数据,本文将对PHP中的安全敏感数据加解密技术进行深入解析。一、加密的基本原理加密是将明文转化成密文的过程,密文只有掌握密钥的人才能解密还原成明文。在PHP中,常见的加密方

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版