当前位置: 首页>>代码示例>>PHP>>正文


PHP Crypto::GenerateKey方法代码示例

本文整理汇总了PHP中Crypto::GenerateKey方法的典型用法代码示例。如果您正苦于以下问题:PHP Crypto::GenerateKey方法的具体用法?PHP Crypto::GenerateKey怎么用?PHP Crypto::GenerateKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Crypto的用法示例。


在下文中一共展示了Crypto::GenerateKey方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: json_decode

if (isset($_POST['login'])) {
    $login = (array) json_decode(base64_decode($_POST['login']));
    if ($field = Submission::checkFields(array("username", "password"), $login)) {
        die(Submission::createResult(ucfirst($field) . " is missing or invalid"));
    }
    if (Settings::i()->captcha_private) {
        if (!isset($login['captcha_response'])) {
            die(Submission::createResult("Please validate the captcha"));
        }
        $reCaptcha = new ReCaptcha(Settings::i()->captcha_private);
        $resp = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $login['captcha_response']);
        if (!$resp->success) {
            die(Submission::createResult("Please validate the Captcha"));
        }
    }
    $key = Crypto::GenerateKey($login['username']);
    $find = DbManager::i()->select("sf_members", array("iv", "userid"), array("key" => base64_encode(base64_encode($key))));
    if ($find !== false) {
        if (!is_array($find)) {
            $iv = base64_decode(base64_decode($find->iv));
            $password = base64_encode(base64_encode(Crypto::EncryptString($key, $iv, $login['password'])));
            $find = DbManager::i()->select("sf_members", array("userid"), array("password" => $password));
            if ($find !== false && !is_array($find)) {
                echo Submission::createResult("login successful", true);
                $_SESSION['login'] = 1;
                $_SESSION['userid'] = $find->userid;
                $find = DbManager::i()->select("sf_carts", array("cart"), array("userid" => $find->userid));
                if ($find !== false && !is_array($find)) {
                    //cart already exists for user
                    if ($find->cart != "e30=" && strlen($find->cart) != 4) {
                        //not empty cart - overwrite with saved one from DB
开发者ID:sharedRoutine,项目名称:ShopFix,代码行数:31,代码来源:login.php

示例2: die

         die(Submission::createResult("Passwords do not match"));
     }
 }
 if (!is_null(Settings::i()->captcha_private)) {
     if (!isset($registration['captcha_response'])) {
         die(Submission::createResult("Please validate the captcha"));
     }
     $reCaptcha = new ReCaptcha(Settings::i()->captcha_private);
     $resp = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $registration['captcha_response']);
     if (!$resp->success) {
         die(Submission::createResult("Please validate the Captcha"));
     }
 }
 $u = $registration['username'];
 $iv = Crypto::GenerateIV();
 $key = Crypto::GenerateKey($u);
 $username = base64_encode(base64_encode(Crypto::EncryptString($key, $iv, $u)));
 $find = DbManager::i()->select("sf_members", array("userid"), array("key" => base64_encode(base64_encode($key))));
 if ($find && count($find) > 0) {
     die(Submission::createResult("Username is already taken"));
 }
 $pw = base64_encode(base64_encode(Crypto::EncryptString($key, $iv, $registration['password'])));
 $email = base64_encode(base64_encode(Crypto::EncryptString($key, $iv, $registration['email'])));
 $ip = base64_encode(base64_encode(Crypto::EncryptString($key, $iv, $_SERVER['REMOTE_ADDR'])));
 $key = base64_encode(base64_encode($key));
 $iv = base64_encode(base64_encode($iv));
 $reg_date = date("Y-m-d");
 $insert = DbManager::i()->insert("sf_members", array("username", "email", "password", "key", "iv", "register_date", "ip"), array($username, $email, $pw, $key, $iv, $reg_date, $ip));
 if ($insert) {
     Logger::i()->writeLog("Account created with username: {$u}");
     die(Submission::createResult("Your account has been created successfully", true));
开发者ID:sharedRoutine,项目名称:ShopFix,代码行数:31,代码来源:register.php


注:本文中的Crypto::GenerateKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。