小编Sco*_*ski的帖子

你如何加密和解密PHP字符串?

我的意思是:

Original String + Salt or Key --> Encrypted String
Encrypted String + Salt or Key --> Decrypted (Original String)
Run Code Online (Sandbox Code Playgroud)

也许是这样的:

"hello world!" + "ABCD1234" --> Encrypt --> "2a2ffa8f13220befbe30819047e23b2c" (may be, for e.g)
"2a2ffa8f13220befbe30819047e23b2c" --> Decrypt with "ABCD1234" --> "hello world!"
Run Code Online (Sandbox Code Playgroud)
  • 在PHP中,你怎么能这样做?

尝试使用Crypt_Blowfish,但它对我不起作用.

php security encryption cryptography encryption-symmetric

211
推荐指数
8
解决办法
43万
查看次数

如何在Java中使用sha256散列一些字符串?

如何在Java中使用sha256散列一些字符串?有人知道这个免费图书馆吗?

java cryptography sha256 cryptographic-hash-function

187
推荐指数
11
解决办法
30万
查看次数

在php中生成随机密码

我想在php中生成一个随机密码.

但是我得到所有'a'并且返回类型是数组类型,我希望它是一个字符串.有关如何更正代码的任何想法?

谢谢.

function randomPassword() {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    for ($i = 0; $i < 8; $i++) {
        $n = rand(0, count($alphabet)-1);
        $pass[$i] = $alphabet[$n];
    }
    return $pass;
}
Run Code Online (Sandbox Code Playgroud)

php security random passwords

176
推荐指数
14
解决办法
32万
查看次数

如何安全存储用户密码?

这比普通MD5更安全吗?我刚刚开始研究密码安全性.我是PHP的新手.

$salt = 'csdnfgksdgojnmfnb';

$password = md5($salt.$_POST['password']);
$result = mysql_query("SELECT id FROM users
                       WHERE username = '".mysql_real_escape_string($_POST['username'])."'
                       AND password = '$password'");

if (mysql_num_rows($result) < 1) {
    /* Access denied */
    echo "The username or password you entered is incorrect.";
} 
else {
    $_SESSION['id'] = mysql_result($result, 0, 'id');
    #header("Location: ./");
    echo "Hello $_SESSION[id]!";
}
Run Code Online (Sandbox Code Playgroud)

php security passwords salt password-hash

168
推荐指数
4
解决办法
6万
查看次数

PHP会话固定/劫持

我正在尝试更多地了解PHP 会话修复和劫持以及如何防止这些问题.我一直在阅读Chris Shiflett网站上的以下两篇文章:

但是,我不确定我是否理解正确的事情.

为了帮助防止会话固定,调用session_regenerate_id(true)就足够了; 成功登录某人后?我想我理解正确.

他还讨论了通过$ _GET使用在URL中传递的令牌来防止会话劫持.怎么会完全这样做?我猜测当有人登录时你生成他们的令牌并将其存储在会话变量中,然后在每个页面上你将该会话变量与$ _GET变量的值进行比较?

这个令牌只需要在每个会话或每个页面加载时更改一次吗?

他们是一个防止劫持而不必在网址中传递值的好方法吗?这会更容易.

php security session session-cookies

145
推荐指数
3
解决办法
6万
查看次数

如何在php中加密/解密数据?

我现在是一名学生,我正在学习PHP,我正在尝试在PHP中对数据进行简单的加密/解密.我做了一些在线研究,其中一些很混乱(至少对我而言).

这是我正在尝试做的事情:

我有一个由这些字段组成的表(UserID,Fname,Lname,Email,Password)

我想要的是加密所有字段然后解密(是否可以sha256用于加密/解密,如果不是任何加密算法)

我想要学习的另一件事是如何创造一种hash(sha256)与良好"盐"相结合的方式.(基本上我只是希望有一个简单的加密/解密实现,hash(sha256)+salt) 先生/女士,你的答案会有很大的帮助,非常感谢.谢谢++

php security encryption cryptography encryption-symmetric

108
推荐指数
5
解决办法
17万
查看次数

为忘记密码生成随机令牌的最佳做法

我想生成忘记密码的标识符.我读过我可以通过使用带有mt_rand()的时间戳来做到这一点,但有些人说时间戳可能不是每次都是唯一的.所以我在这里有点困惑.我可以使用时间戳吗?

问题
生成自定义长度的随机/唯一标记的最佳做法是什么?

我知道这里有很多问题,但是在阅读了不同的人的不同意见后,我变得更加困惑.

php security random timestamp token

90
推荐指数
4
解决办法
12万
查看次数

为什么MD5哈希值不可逆?

我一直想知道的一个概念是使用加密哈希函数和值.我知道这些函数可以生成一个唯一且几乎不可能反转的哈希值,但这是我一直想知道的:

如果在我的服务器上,在PHP中我生成:

md5("stackoverflow.com") = "d0cc85b26f2ceb8714b978e07def4f6e"
Run Code Online (Sandbox Code Playgroud)

通过MD5函数运行相同的字符串时,您在PHP安装上获得相同的结果.正在使用一个过程从一些起始值产生一些值.

这是不是意味着有一些方法来解构正在发生的事情并扭转哈希值?

这些函数是什么使得结果字符串无法回溯?

hash md5 cryptography cryptographic-hash-function

88
推荐指数
6
解决办法
3万
查看次数

MD5是128位,但为什么是32个字符?

我读了一些关于md5的文档,它说它的128位,但为什么它是32个字符?我无法计算角色.

  • 1个字节是8位
  • 如果1个字符是1个字节
  • 然后128位是128/8 = 16字节对吗?

编辑:

SHA-1产生160位,那么有多少个字符?

hash md5 cryptography cryptographic-hash-function

77
推荐指数
6
解决办法
10万
查看次数

将md5散列字节数组转换为字符串

如何将散列结果(字节数组)转换为字符串?

byte[] bytePassword = Encoding.UTF8.GetBytes(password);

using (MD5 md5 = MD5.Create())
{
    byte[] byteHashedPassword = md5.ComputeHash(bytePassword);
} 
Run Code Online (Sandbox Code Playgroud)

我需要转换byteHashedPassword为字符串.

c# hash md5 cryptography cryptographic-hash-function

72
推荐指数
6
解决办法
7万
查看次数