【问题标题】:encrypted tokens in phpphp中的加密令牌
【发布时间】:2014-12-13 23:26:52
【问题描述】:

我是加密和使用此类获取令牌的新手,有人可以帮助我在参考资料、视频教程等的帮助下了解这两个函数的情况,以便更深入地了解。目的是使用相同的技术来理解和实现其他语言。

class Crypt {

public static function encrypt($data, $secret) {
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $key = pack('H*', $secret);
    return base64_encode($iv . mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv));
}

public static function decrypt($data, $secret) {
    $data = base64_decode($data);
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
    $iv = substr($data, 0, $iv_size);
    $data = substr($data, $iv_size);
    $key = pack('H*', $secret);
    return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv), chr(0));
}
}

谢谢

【问题讨论】:

    标签: php encryption auth-token


    【解决方案1】:

    以及使用相同技术在其他语言中实现

    我怀疑,)

    不是一个简单的话题。 您将不得不深入研究不同的密码和加密,尤其是 RIJNDAEL_128 和 CBC,就像您发布的那样。

    如果您想了解 rinjndael,请查找 AES (Advanced Encryption Standard)

    规格 您可以在以下位置找到官方规范:http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf

    预订 这是 Christof Paar 和 Jan Pelzl 的加密教科书中的 AES capther: http://wiki.crypto.rub.de/Buch/download/Understanding-Cryptography-Chapter4.pdf

    教程

    视频

    动画/演示

    PHP 手册 - 扩展 mCrypt

    代码

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-25
    • 2020-07-15
    • 1970-01-01
    • 2018-11-25
    • 2017-03-07
    • 2023-01-14
    • 2020-02-29
    • 2017-08-01
    相关资源
    最近更新 更多