国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 邏輯算法 > 正文

密碼加密的算法

2020-03-22 19:18:51
字體:
來源:轉載
供稿:網友
  • 加密原理:采用不同的加密算法對字符串進行加鹽加密處理。

    用以防止密文被md5字典進行反向暴力破解。

    采用美國家安全局公布的加密算法(RFC 4357)加密,不采用自己創建的加密算法,以避免有安全漏洞。

    以下是基于html' target='_blank'>Yii框架的實現代碼。

    <?php/** * 密碼加密算法 * 對不同類型密碼采用不同的加密算法進行加密處理 * @author yagas<yagas@sina.com> * @url http://blog.csdn.net/yagas * @version 0.1 * @example: * $passwd = new TPassword( TPassword::UserPassword ); * $passwd->encode( '123456' ); * $passwd->ckechPassword( 'xxxxxx', '123456' ); */class TPassword extends CModel {    /**     * 密碼鹽長度     * @var int     */    private $_satlsLen = 5;    /**     * 鹽在密文中的偏移值     * @var int     */    private $_offset = 10;    /**     * 加密算法名稱     * @var string     */    private $_passwordType;    /**     * 會員登陸密碼     * @var string     */    const UserPassword  = 'sha224';    /**     * 登陸員登陸密碼     * @var string     */    const AdminPassword = 'snefru256';    /**     * 支付密碼     * @var string     */    const PayPassword   = 'haval128,3';    public function __construct( $passwordType ) {        $this->_passwordType = $passwordType;    }    public function attributeNames() {        return array();    }    /**     * 加密字符串     * @param string $password 需要進行加密的字符串     * @param string $satls    加密鹽     * @return string          密文     */    public function encode( $password, $satls=null ) {        if( is_null( $satls ) ) {            $satls = '';            while( strlen( $satls ) > $this->_satlsLen ) {                $i      = mt_rand( 65, 90 );                $satls .= chr( $i );            }        }        $password     = hash( $this->_passwordType, $password.$satls );        $password     = md5( $password );        $newPassword  = substr( $password, 0, $this->_offset );        $newPassword .= strtolower( $satls ) . substr( $password, $this->_offset );        return substr( $newPassword, 0, 32 );    }    /**     * 驗證密碼是否正確     * @param string $securtyString 密鑰     * @param string $password      密碼     * @return boolean     */    public function checkPassword( $securtyString, $password ) {        $satls    = substr( $securtyString, $this->_offset, $this->_satlsLen );        $password = $this->encode( $password, strtoupper( $satls ) );        return $securtyString == $password;    }}

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 湖南省| 盐源县| 呈贡县| 和顺县| 宁城县| 华宁县| 龙山县| 钟祥市| 都兰县| 廉江市| 张北县| 朔州市| 仙居县| 九江县| 滨州市| 永善县| 荔波县| 夏河县| 天柱县| 嘉荫县| 长治市| 高台县| 郓城县| 都江堰市| 德安县| 栾川县| 巴里| 名山县| 光泽县| 静乐县| 来宾市| 务川| 阳高县| 新源县| 马山县| 黄浦区| 阳新县| 时尚| 天全县| 大宁县| 固阳县|