标签: bcrypt

Rails 3设计停止更多加密"延伸"

每当我输入config.stretches = 20config/initializers/devise.rb,服务器就会超时加密请求.

重新开始时间可以承受15次延伸,然后随着我提高伸展值而迅速增加,并且在19时变得完全无法使用.我不太了解这个值可能造成的性能影响,但它当然不应该是指数级的,是我的经验.显然我不需要为除authlogic兼容性之外的任何东西提高此值,但无论如何它似乎都是错误的.

我通过全新安装的https://github.com/plataformatec/devise_example/验证了这一点.

在Ubuntu 11.04,任何3.0.x rails版本,3.1.0.beta1,设计1.3.1和1.3.4,mysql,pg,sqlite驱动程序上都会出现此行为.这适用brcyptsha1加密器以及加密器.

sha1 ruby-on-rails bcrypt authlogic devise

6
推荐指数
2
解决办法
1320
查看次数

将用户密码从salted SHA1升级到bcrypt

我被聘请在新的PHP 5.3服务器上使用Laravel 4重建一个在CodeIgniter 1.7.3(在PHP 4.2服务器上)上构建的活跃应用程序.

该系统有大约500个用户,其密码使用salted SHA-1哈希进行加密.我想使用bcrypt来提高应用程序的安全性以及与Laravel 4的身份验证系统集成.

您如何建议迁移这些用户密码?

php sha1 codeigniter bcrypt laravel

6
推荐指数
2
解决办法
1928
查看次数

Rails has_secure_password更改BCrypt成本因子(又称工作因子)

在rails中使用has_secure密码时,如何在创建密码摘要时更改BCrypt使用的默认成本因素?

我想这样做是因为所使用的默认成本因数-10-显然有点低(本文建议至少将其设置为12)。

security passwords ruby-on-rails bcrypt

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

与bcrypt Node.js模块的安全性差异

我的一个项目是将bcrypt模块用于散列秘密.少数人抱怨由于它的依赖性而难以安装.我曾尝试在Windows Server上安装它,它不是在公园散步.

人们要求我使用纯Javascript drop-in替换,例如dcodeIO/bcrypt.jsshaneGirish/bcrypt-nodejs.但我真的不知道使用它们的安全隐患.它们一样可靠吗?

bcrypt node.js

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

节点 bCrypt.compareSync

我正在创建一个用户登录。我可以让用户注册,当用户注册时,他的密码在保存到数据库之前被加密。

当同一用户尝试登录时,我收到“无效密码”。

这是因为它将用户输入与数据库中的加密密码进行比较。例如,如果密码是 1234,那么在数据库中它被保存为“$2a$104$0301”。当用户尝试登录时,将用户输入“1234”与“2a$104$0301”进行比较。我该如何解决?

这是我的登录代码:

var LocalStrategy = require('passport-local').Strategy;
var User = require('../Models/users.js');
var bcrypt = require('bcrypt-nodejs');

module.exports = function(passport){
passport.use('login', new LocalStrategy({
     passReqToCallback : true
 },
    function(req, username, password, done){
        User.findOne({'username' : username},
        function(err, user){
            if(err)
                return done(err);
            if(!user){
                console.log('User Not Found with username: '+username);
                return done(null, false,
                    req.flash('message', 'User Not Found.'));
            }
            if (!isValidPassword(user, password)){
                console.log('Invalid Password');
                return done (null, false,
                    req.flash('message', 'Invalid Password'));
            }
            return done(null, user);
        }
    );
})
);
var isValidPassword = function(user, password){
    var …
Run Code Online (Sandbox Code Playgroud)

javascript bcrypt node.js

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

Bcrypt 更长的密码

所以 Bcrypt 对密码的长度确实有限制。我已经阅读了很多关于此的内容。我不明白的一件事是大多数网站如何绕过这个。

我注意到的大多数网站都没有最大密码长度。也许我对此完全错误,但这正是我所注意到的。Bcrypt 似乎是此类事物中最受欢迎的库之一。

那么,所有这些网站是否只是不提醒用户,而 Bcrypt 正在将密码削减到最大字符限制而不提醒用户呢?或者他们正在使用一些特殊技术来允许更长的密码?

我只是想弄清楚如何最好地实现这一点。我希望没有最大字符数限制。但与此同时,我想直接告诉用户,如果 Bcrypt 正在削减密码,用户应该知道这一点。

对于如何在实践中处理这种限制有什么建议吗?

security passwords hash bcrypt

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

将用户身份验证迁移到Firebase Auth

我是一家公司的开发人员,该公司的应用程序是用PHP和MySQL构建的.我们有大约300个用户使用bcrypt对其密码进行哈希处理并存储在users表中的用户.我们希望使用Angular和Firebase重建应用程序.

我的问题是,如何通过Firebase迁移这些用户并使用Firebase Auth.迁移配置文件信息很容易,但我想确保用户在登录新应用程序时仍然可以使用相同的电子邮件/密码.

以下是我想到的一些方法.在我看来,所有这些都很可怕.

A)创建一个使用bcrypt的自定义身份验证系统,然后只复制哈希值.这不是我想要的,因为我不想维护自定义身份验证解决方案.

B)每次用户登录旧系统时,从登录字段中获取密码,以明文形式存储,然后使用电子邮件/密码在Firebase中手动创建每个用户.在我们切换到新应用程序之前,这将要求100%的用户登录.这不太可能.这显然也是对隐私的侵犯.我敢肯定它违反了某种法律或标准.但它有效,这是最后的选择.

C)每次用户登录旧系统时,请以明文形式将电子邮件/密码发送到脚本,该脚本使用相同的用户/电子邮件自动创建新的Firebase用户.在我们切换到新应用程序之前,这将要求100%的用户登录.这不太可能.它比选项B更难建立.

这些选项都不是很好看.他们都有缺点.有更好的选择吗?如果不是,在B和C之间,哪个是最合法/合乎道德的?选项B诱惑我,因为它非常简单,但我不想破坏任何法律或失去我公司客户的信任.

authentication bcrypt firebase firebase-authentication

6
推荐指数
2
解决办法
2893
查看次数

导入错误:没有名为 bcrypt 的模块

在将密码存储在 SQLite3 表中之前,我试图让我的 Python 应用程序加密密码。我在 Flask VirtualEnvironment 上安装了 bcrypt。但是,每当我运行脚本时,都会出现错误:

File "./run.py", line 2, in <module>
    from app import app
  File "/home/test/app/__init__.py", line 12, in <module>
    from app import views
  File "/home/test/app/views.py", line 8, in <module>
    from flask_bcrypt import Bcrypt
  File "/home/test/flask/local/lib/python2.7/site-packages/flask_bcrypt.py", line 27, in <module>
    raise e
ImportError: No module named bcrypt
Run Code Online (Sandbox Code Playgroud)

views.py 上的第 8 行如下所示:

from flask_bcrypt import Bcrypt
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?

python bcrypt flask

6
推荐指数
2
解决办法
1万
查看次数

为什么 Spring boot Security 基本身份验证很慢?

我有一个 Spring boot 2.0.1 服务,我向其中添加了使用 BCrypt 进行哈希处理的基本身份验证。但这项服务在添加基本身份验证之前平均需要 400 毫秒,现在需要 1 秒以上。我正在使用用户详细信息服务,它在哈希映射中查找发送的用户名并返回用户详细信息。我尝试将 BCrypt 轮数减少到 4,但这并没有产生太大影响。

早些时候,我启用了无状态身份验证,后来将其禁用,但性能仍然很差。该服务托管在 Docker 容器中。

以下是我的安全配置。

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    private UserDetailsService userDetailsService;

    @Autowired
    public SecurityConfig(UserDetailsServiceImpl service) {
        this.userDetailsService = service;
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        Map encoders = new HashMap<>();
        encoders.put(BCRYPT_ID, new BCryptPasswordEncoder(BCRYPT_ROUNDS));
        return new DelegatingPasswordEncoder(BCRYPT_ID,encoders);
    }


    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.cors()
            .and()
            .csrf().disable()
            .httpBasic();
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {

        auth.userDetailsService(userDetailsService)
            .passwordEncoder(passwordEncoder()); …
Run Code Online (Sandbox Code Playgroud)

java spring-security bcrypt basic-authentication spring-boot

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

无法使用bcrypt登录用户(dyld:未找到符号)

当我尝试使用bcrypt.compare登录用户来比较密码时,此错误消息显示在我的终端中.

dyld: lazy symbol binding failed: Symbol not found: __ZN4node19GetCurrentEventLoopEPN2v87IsolateE
  Referenced from: /pathTo/node_modules/bcrypt/lib/binding/bcrypt_lib.node
  Expected in: flat namespace

dyld: Symbol not found: __ZN4node19GetCurrentEventLoopEPN2v87IsolateE
  Referenced from: /pathTo/node_modules/bcrypt/lib/binding/bcrypt_lib.node
  Expected in: flat namespace
Run Code Online (Sandbox Code Playgroud)

我正在使用node.js和express.

login bcrypt node.js express

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