1. 程式人生 > >MD5加密演算法(salt鹽加密)

MD5加密演算法(salt鹽加密)

MD5加密演算法:

md5加密演算法是不可逆的  也就是說是不能夠通過解碼來獲取源來的字串的  如果需要驗證密碼是否正確  需要對待驗證的密碼進行同樣的MD5加密  然後和資料庫中存放的加密後的結果進行對比;

普通的md5加密  不夠安全  我們可以通過多次進行md5加密  或者使用 鹽salt 對字串進行加密   

使用方法:  我們可以隨機生成鹽salt  然後和我們要加密的字串進行拼接  之後再用md5進行加密   然後在拼接上我們剛剛的salt

     驗證時  我們先擷取資料庫中加密的字串的前兩個位元組   獲得我們的salt  用這個鹽按照加密的方法對我們需要驗證的密

public static string MD5(string pwd)

        { 

            string MD5pwd = "";     //定義一個字串用來接收編碼後的字串

            MD5CryptoServiceProvider MD5 = new MD5CryptoServiceProvider();    //定義一MD5物件  

或者 MD5 md5=MD5.Create();

            byte[] buffer = Encoding.UTF8.GetBytes(pwd);   //所有的加密演算法都是對位元組進行加密,因為先把密碼轉化成位元組陣列     

或者 byte[] buffer=  System.Text.Encoding.Default.GetBytes(pwd);

            byte[] MD5buffer = MD5.ComputeHash(buffer);  //對位元組進行加密,返回位元組陣列          
            foreach (byte item in MD5buffer) 
   //md5加密後得到是:32為16進位制數,所有把btye轉成十六進位制            { 
                
                MD5pwd += item.ToString("X2"); 
 //x表示轉換成十六進位制數【大寫x表示十六進位制中的字母是大寫的】
            } 
            return MD5pwd; 
        }

相關推薦

MD5加密演算法salt加密

MD5加密演算法: md5加密演算法是不可逆的  也就是說是不能夠通過解碼來獲取源來的字串的  如果需要驗證密碼是否正確  需要對待驗證的密碼進行同樣的MD5加密  然後和資料庫中存放的加密後的結果進行對比; 普通的md5加密  不夠安全  我們可以通過多次進行md5

c語言實現rsa nopadding非對稱加密演算法openssl api方式,匹配java後端 bouncycastle

公私鑰: —–BEGIN PUBLIC KEY—– MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC32V2IAfotG8bZhPF8/Bx8y65g EDycAMyTWmvpPCfagEKORO/WvdkTYim7yhG/+

加密演算法MD5、RSA、AES

加密技術通常分為兩大類:"對稱式"和"非對稱式"。 對稱性加密演算法:對稱式加密就是加密和解密使用同一個金鑰。資訊接收雙方都需事先知道密匙和加解密演算法且其密匙是相同的,之後便是對資料進行加解密了。對稱加密演算法用來對敏感資料等資訊進行加密。 非對稱演算法:非對稱式加密就是加密和解密所使用的

Android常見加密演算法MD5加密

MD5加密是不可逆的,加密後字串可取16位或32位。一定注意,MD5加密區分大小寫,加密出來的結果不同。 public class MD5Util { private static char hexDigits[] = { '0', '1', '2'

學習筆記---PHP中幾種加密演算法MD5,shal,base64_encode等

PHP中有多種加密演算法。 1.md5()—–不可逆,無解密演算法 md5(string $str[,bool $raw_output = false|true]); 引數: $str:待加密的字串 $raw_output:可選引數為true或

JAVA加密演算法1- 密碼學概述及BASE64演算法使用

密碼學綜述 密碼學綜述 密碼學基本功能 機密性、鑑別、報文完整性、不可否認性 基本模型 sender-->加密演算法 --> 密文 --> 解密演算法 --> receiver 金鑰源 密碼學演算法分類: 訊息編碼:Base64 訊息

java學習-排序及加密簽名時資料排序方式 十大經典排序演算法(動圖演示 Java Comparator字元排序(數字、字母、中文混合排序) 編寫高質量程式碼:改善Java程式的151個建議(第5章:陣列和集合___建議70~74)

排序有兩種 1. 類實現comparable介面呼叫List.sort(null)或Collections.sort(List<T>)方法進行排序 jdk內建的基本型別包裝類等都實現了Comparablel介面,預設是使用自然排序,即升序排序 自定義類實現Comparable介面必須要實現c

簡單橢圓曲線加密演算法ECC)示例MATLAB實現

摘要 本文主要是使用MATLAB演示橢圓曲線加密演算法(ECC)的加密/解密過程,內容包括金鑰、公鑰生成,以及通過加密並解密一個簡單數字的過程來描述其使用方法。 本文實際是對以下兩篇文章的一個MATLAB實現,並且提供了兩個實用的MATLAB工具函式以便在閱

Jmeter 介面測試之MD5加密函式函式助手篇

Jmeter 介面測試之MD5加密函式 本文給大家介紹一下如何使用Jmeter自帶的函式對常量和變數進行簡單的加密處理,廢話少說,裡面開講。 nice~你可以開始虐待Jmeter了 下載Jmeter 4.0版本 解壓下載的jmeter壓縮

常用對稱加密演算法DES/AESPHP

看註釋,啥也不說了,歡迎各種跨平臺測試! /** * 常用對稱加密演算法類 * 支援金鑰:64/128/256 bit(位元組長度8/16/32) * 支援演算法:DES/AES(根據金鑰長度自動匹配使用:DES:64bit AES:128/256bit) * 支

【C#公共幫助類】給大家分享一些加密演算法 DES、HashCode、RSA、AES等

AES       高階加密標準(英語:Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。AES先進加密演算法是一向被認為牢不可破的加密演算法,

Android常見加密演算法總篇

3DES、MD5、Base64、AES都是較為常見的加密演算法,一般賬戶登入或者是傳輸敏感資訊都會使用到,以免資訊在傳遞給後臺伺服器時遭到攔截並破解。 3DES 3DES(或稱為Triple DES)是三重資料加密演算法(TDEA,Triple Data

DES加密演算法密文只有字串和數字

因為最近在做一個系統,系統需要有個能展示一個數據頁面在大螢幕上,而這個頁面的資料是和每個使用者掛鉤的。但是要求又不能讓使用者看到URL地址上的使用者的個人ID。 之前用了BASE64的加密演算法,對ID進行加密,後來發現密文中有%的字元出現,偶爾會出現無法解密

非對稱加密演算法3:ElGamal

一.ElGamal:ElGamal演算法,是一種較為常見的加密演算法,它是基於1985年提出的公鑰密碼體制和橢圓曲線加密體系。既能用於資料加密也能用於數字簽名,其安全性依賴於計算有限域上離散對數這一難題。在加密過程中,生成的密文長度是明文的兩倍,且每次加密後都會在密文中生成

Java關於md5+salt加密驗證

一.陳述一下工作流程: 1.根據已有的密碼字串去生成一個密碼+鹽字串,可以將鹽的加密字串也存放在資料庫(看需求), 2.驗證時將提交的密碼字串進行同樣的加密再從資料庫中取得已有的鹽進行組合密碼+鹽的字串和已有的進行驗證 package com.mi.util; import java.io.Unsup

[加密]--PHP 使用非對稱加密演算法RSA

解釋 非對稱加密演算法需要兩個金鑰:公開金鑰(publickey)和私有金鑰(privatekey)。 公開金鑰與私有金鑰是一對,如果用公開金鑰對資料進行加密,只有用對應的私有金鑰才能解密; 如果用私有金鑰對資料進行加密,那麼只有用對應的公開金鑰才能解密。 因為加密和

JAVA加密演算法DH

接下來我們分析DH加密演算法,一種適用於網路互動的加密演算法。 DH Diffie-Hellman演算法(D-H演算法),金鑰一致協議。是由公開金鑰密碼體制的奠基人Diffie和Hellman所提出的一種思想。簡單的說就是允許兩名使用者在公開媒體上交換資訊以生成"一致"的、可

數字簽名加密演算法RSA、DSA、ECDSA

RSA的例子: import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.securi

一個簡單的加密演算法通用於java和OC的簡單加密演算法

加密演算法有很多,我在網上找了個簡單的演算法,可惜是C語言的, 朕很不滿意 ,一怒之下,自己研究了研究,改造成了java的; 後來ios端也需要解密後臺加密的資料,所以,又把演算法簡化了一下,作成了java和OC通用的加密演算法。現在分享給大家。希望對大家

SHA1加密演算法java實現

SHA1加密演算法 SHA是一種資料加密演算法,該演算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的雜湊演算法之一,並被廣泛使用。該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預