标签: crypt

PHP Bcrypt哈希

我想使用Blowfish哈希来哈希密码.

crypt() 在5.3之前的PHP版本中不支持它

我的PHP版本是5.2.14.我怎样才能使用Blowfish哈希?我可以使用PEAR Crypt_Blowfish吗?

php hash pear crypt blowfish

1
推荐指数
1
解决办法
7096
查看次数

Python crypt包:可以在密码中输入额外的字符

我正在使用Python的crypt包来保存Django网站的MySQL数据库中的加密密码.我不确定这是不是一个bug,但这是我正在使用的代码:

要加密/保留密码:

user.password = crypt(request.POST['password'], netid)
user.save()
Run Code Online (Sandbox Code Playgroud)

要在登录时检查密码是否正确:

if crypt(password, email) == user.password:
# Grant acccess to the user's profile, etc.
Run Code Online (Sandbox Code Playgroud)

问题如下.如果我有可变密码进行加密netid = test@example.comrequest.POST['password'] = 'ABC123abc',它工作正常.但是,当我尝试登录时,如果我使用密码'ABC123abc[trailing_chars]',其中trailing_chars可以是任何有效的字符串,我仍然可以登录.为什么会这样?它本身就是一个很大的安全漏洞.

python unix encryption django crypt

1
推荐指数
1
解决办法
274
查看次数

无法让crypt正常工作

我只是在弄乱我是否可以使用'crypt'模块而且我似乎遇到了一个我无法解决的问题.运行之后的输出是这样的:

Password Not Found. secret HXXxJi0n6Huro HXXxJi0n6Huro
Run Code Online (Sandbox Code Playgroud)

这意味着cryptWord和cryptPass是相同的,所以为什么程序不执行(if cryptWord == cryptPass:),和print 'Found Password:

我根本没有得到它.

dictionary.txt文件中只有多个单词secret,都在不同的行上.而且evil.txt文件有这一行:

test_user:HXXxJi0n6Huro
Run Code Online (Sandbox Code Playgroud)

据我所知,一切正常吗?但有些东西正在从正常工作中恢复过来,我无法弄明白.任何帮助,将不胜感激.

import crypt

def testPass(cryptPass):

        salt = cryptPass[0:2]
        dictFile = open('dictionary.txt', 'r')
        for word in dictFile.readlines():
            word = word.strip('\n')
            cryptWord = crypt.crypt(word, salt)
            if cryptWord == cryptPass:
                print "[+] Found Password: "+word+"\n"
                return
        print "[-] Password Not Found. " +word,  cryptWord,  cryptPass+  "\n"
        return


def main():

    passFile= open('evil.txt')
    for line in passFile.readlines():
        if ":" in line:
            user = line.split(':')[0]
            cryptPass = …
Run Code Online (Sandbox Code Playgroud)

python crypt

1
推荐指数
1
解决办法
412
查看次数

从password_hash()确定salt

我用bcrypt哈希我的密码(因为我运行php 5.3.10 实际上是用password_compat)
我想把函数的结果字符串分成两部分:使用的盐和哈希本身.(我知道使用password_verify()来验证密码.但是我需要使用哈希作为密钥来加密更广泛的安全系统中的私钥.)

对于给定的密码(abcdef),这是结果:

 $2y$10$ult68Ti4/zEWX4VQ       ....           YCOWjL6
Run Code Online (Sandbox Code Playgroud)

我已经改变了一点功能,吐出了concat,salt,hash和hash_format.

 ... from the password_compat ...
 $salt = substr($salt, 0, $required_salt_len);
 $hash = $hash_format . $salt;
 $ret = crypt($password, $hash);
 if (!is_string($ret) || strlen($ret) <= 13) {
        return false;
 }

 return array( 'concat'=>$ret, 
               'salt'=>$salt, 
               'format'=>$hash_format,
               'hash_format'=>$hash);
Run Code Online (Sandbox Code Playgroud)

我想结果哈希是的一个CONCAT $hash_format,$salt以及hash......但最后一个字符是不同的...

                                               _
[concat] =>        $2y$10$oWfFYcNqlcUeGwJM0AFUguSJ5t  .....  SvWG
[salt] =>                 oWfFYcNqlcUeGwJM0AFUgw
[hash_format] =>   $2y$10$oWfFYcNqlcUeGwJM0AFUgw
[format] =>        $2y$10$
                                               ^
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,在crypt函数之前和函数之后,salt中的最后一个字符是不同的.

这怎么可能?

php hash crypt bcrypt

1
推荐指数
1
解决办法
5677
查看次数

如何在C#中使用"libtomcrypt"

我想libtomcryptC#for Encrypt-Decrypt中使用该工具包.我不熟悉C,所以帮助我.工具包的链接:http://www.libtom.org/? page = feature&newsitems = 5& whatfile = crypt

c c# crypt

0
推荐指数
1
解决办法
487
查看次数

在Go中生成crypt()sha512哈希

我在GoLang工作我的授权模块.在我们使用PHP5和crypt函数之前.哈希的生成方式与SHA-512相同:

$6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
Run Code Online (Sandbox Code Playgroud)

并存储在数据库中.但现在我需要让它在GoLang中运行.我在Google上搜索并尝试了不同的东西,例如:

t512 := sha512_crypt.Crypt("rasmuslerdorf", "$6$usesomesillystringforsalt$")
fmt.Printf("hash: %v\n", t512)
Run Code Online (Sandbox Code Playgroud)

但都会产生不同的东西.谁能进一步帮助我们?

我们想要验证并创建像php版本一样的哈希.

提前致谢.

php crypt go sha512

0
推荐指数
1
解决办法
2009
查看次数

使用crypt生成密码(32位与64位)

我正在使用此函数生成密码:

function generarPassword($password, $cost=11){
    $salt = strtr(base64_encode(mcrypt_create_iv(16, MCRYPT_DEV_URANDOM)), '+', '.');
    $salt='$'.implode('$',array("2y",str_pad($cost,2,"0",STR_PAD_LEFT),$salt));
    return crypt($password,$salt);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我在64位服务器上使用它时,结果如下:

$2y$11$1ws6drmcqHCWG8wj5bm5s.R8Opc0.JEjXy0.P9UsHjqoxjZQ5GYLW
Run Code Online (Sandbox Code Playgroud)

当我在32位服务器上使用它时,结果如下:

$2uUq69/OVG3M
Run Code Online (Sandbox Code Playgroud)

所以,我有两个问题:

  1. 为什么会这样?的$salt是在两个相同的长度
  2. 32位密码有任何安全问题吗?

谢谢!

php security crypt salt

0
推荐指数
1
解决办法
253
查看次数

如何使用CRYPT_SHA512增加crypt PHP API的salt长度?

<?php

  echo 'SHA-512:' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$');
Run Code Online (Sandbox Code Playgroud)

输出: SHA-512: $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21

它只使用16个字符的盐:usesomesillystri

Refs: crypt - 单向字符串哈希

题:

  • 是否可以增加盐的长度?
  • 如果我们增加盐的长度有什么缺点吗?

提前致谢.

php security passwords crypt login

0
推荐指数
1
解决办法
170
查看次数

postgresql – Debian 上没有 crypt 功能

我的 Debian Stretch (9) 上安装了 PostgreSQL 9.6。当我想使用crypt()gen_salt()函数时,它说:

ERROR:  function gen_salt(unknown, integer) does not exist
LINE 1: select gen_salt('bf', 8)
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

我怎样才能让这些功能正常工作?


安装的 postgresql 包

postgresql debian crypt postgresql-9.6 debian-stretch

0
推荐指数
1
解决办法
1044
查看次数

C函数crypt()是否存在已知问题?

我使用crypt()加密我的项目的密码。用户选择密码后,将按以下方式进行加密:

password = crypt(<password chosen>, <user's account name>)
Run Code Online (Sandbox Code Playgroud)

问题是用户使用密码登录时。如果输入的内容与密码不匹配,请检查以下内容:

if (strcmp(crypt(<what user types in as password>, <user's account name>), <user's encrypted password>)) {
   //...
}
Run Code Online (Sandbox Code Playgroud)

在某种情况下它不是。假设他们的密码是“ asdf”。如果他们输入带有任何随机结尾字符的“ asdf”,例如“ asdffffff”或“ asdf339sfd”,则该密码仍会接受。似乎忽略了“ asdf”之后的所有内容。

这是隐窝的已知问题吗?还有另一种加密密码的方法吗?

c encryption passwords crypt

0
推荐指数
1
解决办法
96
查看次数