php增加md5加密的方法_php进行md5加密简单实例方法
php進(jìn)行md5加密簡(jiǎn)單實(shí)例方法
直接可以使用md5()函數(shù),對(duì)內(nèi)容進(jìn)行加密,如:md5($admin_pw)
把這段密文分割成若干段,對(duì)每段都進(jìn)行一次MD5運(yùn)算,然后把這堆密文連成一個(gè)超長(zhǎng)的字符串,最后再進(jìn)行一次MD5運(yùn)算,得到仍然是長(zhǎng)度為32位的密文。
//把密文分割成兩段,每段16個(gè)字符
function md5_2_1($data)
{
//先把密碼加密成長(zhǎng)度為32字符的密文
$data = md5($data);
//把密碼分割成兩段
$left = substr($data, 0, 16);
$right = substr($data, 16, 16);
//分別加密后再合并
$data = md5($left).md5($right);
//最后把長(zhǎng)字串再加密一次,成為32字符密文
return md5($data);
}
//把密文分割成32段,每段1個(gè)字符
function md5_2_2($data)
{
$data = md5($data);
//循環(huán)地截取密文中的每個(gè)字符并進(jìn)行加密、連接
for ($i = 0; $i < 32; $i++) {
$data .= md5($data{$i});
}
//這時(shí)$data長(zhǎng)度為1024個(gè)字符,再進(jìn)行一次MD5運(yùn)算
return md5($data);
}
?>
以上就是php如何進(jìn)行md5加密的詳細(xì)內(nèi)容,更多內(nèi)容大家可以參閱下方的相關(guān)文章,感謝大家對(duì)我們的支持。
時(shí)間: 2019-09-17
使用substr函數(shù)截取: 復(fù)制代碼 代碼如下: substr(md5("admin"),8,16); // 16位MD5加密 md5("admin"); // 32位MD5加密
因項(xiàng)目需要,需要Node.js與PHP做接口調(diào)用,發(fā)現(xiàn)node.js對(duì)中文使用md5加密與php對(duì)中文md5加密的結(jié)果不同. PHP <?php $str = '程序員'; echo $str.' md5:'.md5($str); ?> 輸出: 程序員 md5:72d9adf4944f23e5efde37f6364c126f node.JS var crypto = require('crypto'); var md5 = function(str){ var crypto_md5 = cry
Android md5加密與php md5加密一致詳解 在Android開(kāi)發(fā)過(guò)程中加密密碼常常采用md5加密方式,然而如果服務(wù)器端采用PHP開(kāi)發(fā)(php采用md5加密很簡(jiǎn)單,直接md5($str)),很可能與Java的md5加密不一致.以下方法是md5加密與php一致的源碼: import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException
Android自定義View中attrs.xml的實(shí)例詳解 我們?cè)谧远xView的時(shí)候通常需要先完成attrs.xml文件 在values中定義一個(gè)attrs.xml 然后添加相關(guān)屬性 這一篇先詳細(xì)介紹一下attrs.xml的屬性. <?xml version="1.0" encoding="utf-8"?> //自定義屬性名,定義公共屬性
寫(xiě)了一個(gè)過(guò)濾器,根據(jù)需要限制edittext輸入的整數(shù)和小數(shù)位,如下代碼: package allone.verbank.apad.client.component; import android.text.InputFilter; import android.text.Spanned; /** * * @Title: ComponentDigitCtrlFilter.java * @Package allone.verbank.apad.client.component * @Descrip
Android ListView中動(dòng)態(tài)添加RaidoButton的實(shí)例詳解 這里講解的內(nèi)容是:從數(shù)據(jù)庫(kù)中取得數(shù)據(jù),將這些數(shù)據(jù)的value值賦值給Radiobutton的text屬性,將這些數(shù)據(jù)的key值賦值給radiobutton的key值.同時(shí)實(shí)現(xiàn)點(diǎn)擊一整行,更換radiobutton選擇. XML代碼:主要是添加一個(gè)ListView控件
在還沒(méi)給大家介紹單選按鈕(RadioGroup)的使用,先給大家展示下效果圖吧: xml文件
Android 監(jiān)聽(tīng)軟鍵盤(pán)狀態(tài)的實(shí)例詳解 近日遇到要檢測(cè)軟鍵盤(pán)是否顯示或隱藏的問(wèn)題,搜了一下網(wǎng)上,最后找到一個(gè)很簡(jiǎn)單的,記錄一下. activityRoot是activity的根view,就是xml里面的第一個(gè)view,給它設(shè)置一個(gè)id. final View activityRootView = findViewById(R.id.activityRoot); activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(ne
一.Timer Timer是Android直接啟動(dòng)定時(shí)器的類(lèi),TimerTask是一個(gè)子線程,方便處理一些比較復(fù)雜耗時(shí)的功能邏輯,經(jīng)常與handler結(jié)合使用. 跟handler自身實(shí)現(xiàn)的定時(shí)器相比,Timer可以做一些復(fù)雜的處理,例如,需要對(duì)有大量對(duì)象的list進(jìn)行排序,在TimerTask中執(zhí)行不會(huì)阻塞子線程,常常與handler結(jié)合使用,在處理完復(fù)雜耗時(shí)的操作后,通過(guò)handler來(lái)更新UI界面. timer.schedule(task, delay,period); task: Time
Android 動(dòng)態(tài)注冊(cè)監(jiān)聽(tīng)網(wǎng)絡(luò)變化實(shí)例詳解 新建一個(gè)BroadcastTest項(xiàng)目,然后修改MainActivity中的代碼,如下: public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver; @Override protected void onCreate(Bundle
Android Fragment(動(dòng)態(tài),靜態(tài))碎片詳解 一.Fragment的相關(guān)概念(一)Fragment的基礎(chǔ)知識(shí) Fragment是Android3.0新增的概念,中文意思是碎片,它與Activity十分相似,用來(lái)在一個(gè) Activity中描述一些行為或一部分用戶(hù)界面.使用多個(gè)Fragment可以在一個(gè)單獨(dú)的Activity中建 立多個(gè)UI面板,也可以在多個(gè)Activity中使用Fragment. Fragment擁有自己的生命 周期和接收.處理用戶(hù)的事件,這樣就不必在Activity寫(xiě)一
Android頂部(toolbar)搜索框?qū)崿F(xiàn)的實(shí)例詳解 本文介紹兩種SearchView的使用情況,一種是輸入框和搜索結(jié)果不在一個(gè)activity中,另一種是在一個(gè)activity中. 首先編寫(xiě)toolbar的布局文件 toolbar中圖標(biāo)在menu文件下定義一個(gè)布局文件實(shí)現(xiàn) 示例代碼:
總結(jié)
以上是生活随笔為你收集整理的php增加md5加密的方法_php进行md5加密简单实例方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 疑难杂症--由于系统缓冲区空间不足或队列
- 下一篇: php变量的判空和类型判断