标签: blowfish

使用Android NDK加密从普通Android应用程序传递的数据

是否有可能并且值得尝试使用Android NDK开发一些服务器应用程序,它将加密从普通的基于Java的应用程序传递给它的数据(或者只是使用一些内置的Linux加密库)?

我尝试使用Cipher库,但用AES加密2MB文件花了差不多一分钟.在Android 2.3(?)之前,在Cipher中不能使用blowfish.我怀疑它会快得多.

我在Symbian上使用blowfish进行加密,速度要快得多(5-10秒),所以我认为在android中它因为使用Java虚拟机而变慢,我想尝试本机应用程序.

有人以前做过吗?

编辑:NDK中的加密速度要快得多.在那里做.AES的答案也有类似的问题:Android上的AES解密太慢而无法使用.NDK会更快吗?其他想法?

encryption android blowfish android-ndk

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

perl和ruby之间的河豚加密的区别

为什么Crypt :: CBC(perl)和OpenSSL(ruby)之间的blowfish加密存在差异?

Perl的

use Crypt::CBC;

my $cipher = Crypt::CBC->new( -key => 'length32length32length32length32', -cipher => 'Blowfish' );
my $ciphertext = $cipher->encrypt_hex('test');

# ciphertext is 53616c7465645f5f409c8b8eb353823c06d9b50537c92e19
Run Code Online (Sandbox Code Playgroud)

红宝石

require "rubygems"
require "openssl"

cipher = OpenSSL::Cipher::Cipher.new("bf-cbc")
cipher.encrypt
cipher.key = "length32length32length32length32"

result = cipher.update("test") << cipher.final
ciphertext = result.unpack("H*").first

# ciphertext is 16f99115a09e0464
Run Code Online (Sandbox Code Playgroud)

Crypt :: CBC Salted__默认情况下似乎在输出前面.你能解释一下这些之间发生了什么不同吗?有没有办法让OpenSSL以类似于Crypt :: CBC的方式运行?

ruby encryption perl openssl blowfish

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

如何让Ubuntu的crypt(3)支持Blowfish?

根据crypt(3)手册,Blowfish(由$ 2a $前缀表示)是受支持的密码方法之一:

ID  | Method
?????????????????????????????????????????????????????????
1   | MD5
2a  | Blowfish (not in mainline glibc; added in some
    | Linux distributions)
5   | SHA-256 (since glibc 2.7)
6   | SHA-512 (since glibc 2.7)
Run Code Online (Sandbox Code Playgroud)

然而,部分说Blowfish(不在主线glibc;在一些Linux发行版中添加)是令人困惑和未记录的,所以我有几个问题.

首先,如果"主线"glibc不支持Blowfish,那么哪个glibc呢?Ubuntu 14.04使用glibc 2.19,打包在libc6/libc6-dev软件包中.假设这是"主线"glibc,则不支持Blowfish.显然有一个叫做crypt_blowfish的补丁,为glibc增加了Blowfish支持.为什么Ubuntu默认没有启用它?最后但并非最不重要的是,在Ubuntu中使C crypt()函数了解Blowfish哈希的最简单方法是什么?

encryption crypt blowfish glibc password-encryption

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

在Ubuntu 16上升级php7.2后phpMyAdmin错误(计数,河豚等)

php7.2升级后phpMyAdmin错误

在Ubuntu 16.04 LTS上升级到php7.2后,phpMyAdmin在查看表时显示恼人的弹出警告:

"在服务器上检测到一些错误!请查看此窗口的底部.忽略全部.忽略."

在窗口的底部:

" ./libraries/sql.lib.php#601中的警告

count():参数必须是数组或实现Countable的对象"

...后面是一个很长的回溯列表.

在包括和低于4.5.4的各种phpMyAdmin 4.x版本上会出现此问题.

我该如何解决?


更新 - Blowfish错误

升级到最新版本的phpMyAdmin(4.7.9)后,我现在收到一个新错误,显示在每个页面的底部:

"配置文件现在需要一个秘密密码(blowfish_secret)."

我该如何解决?

blowfish phpmyadmin count ubuntu-16.04 php-7.2

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

OpenSSL 3.0 命令无法设置密码

从 OpenSSL 3.0 开始,以下命令(适用于 OpenSSL 1.1)

openssl bf-cbc -d -nopad -bufsize 2048 -K 000102030405060708090A0B0C0D0E0F -iv 0001020304050607 < enc
Run Code Online (Sandbox Code Playgroud)

现在失败了

设置密码 BF-CBC 40CCA0B4217F0000 时出错:错误:0308010C:数字信封例程:inner_evp_generic_fetch:不支持:crypto/evp/evp_fetch.c:349:全局默认库上下文,算法(BF-CBC:13),属性()

看看evp_fetch.c:349我想我有一个 NULL 方法

-help屏幕不提供任何与指定方法相关的内容

Usage: bf-cbc [options]

General options:
 -help               Display this summary
 -list               List ciphers
 -ciphers            Alias for -list
 -e                  Encrypt
 -d                  Decrypt
 -p                  Print the iv/key
 -P                  Print the iv/key and exit
 -engine val         Use engine, possibly a hardware device

Input options:
 -in infile          Input file
 -k val              Passphrase
 -kfile infile …
Run Code Online (Sandbox Code Playgroud)

openssl blowfish

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

PHP安全会话

我正在创建一个类似于phpmyadmin(数据库管理UI)的应用程序.用户需要针对数据库进行身份验证,并且应用程序需要以某种方式存储凭据.SSL不是所有安装的选项.

  • 想法1:用户使用预定义的blowfish密钥(config.ini.php)发送凭证,应用程序存储用户名和加密密码 - 这就是phpMyAdmin所做的.
  • 想法2:登录表单创建随机的blowfish secret(javascript),用户发送登录凭据,应用程序加密用户/密码并将它们存储在会话中,密钥存储到cookie中并发送给每个请求.

想法1:如果违反服务器安全性则出现问题.(关键是配置,/ tmp中的会话数据)
想法2:中间人攻击的问题.(密钥+凭证已发送)

还有其他建议吗?批评?

php session blowfish

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

jBCrypt checkpw的严重问题(当它不应该返回true?)

编辑:好的,所以我有点在这里找到答案BCrypt说长,类似的密码是等价的 - 问题与我,宝石,或密码学领域?

但是,如果你不得不在我们试图教育用户选择越来越复杂的密码,甚至密码,密码必须短于n个字符的世界中限制用户的密码长度,有人可以推荐使用bCrypt进行散列的新问题似乎是一种方式,最终在thedailywtf.com星期五的截图:)

原始问题如下:

我正在为一个应用程序重构一个旧的登录页面,并决定使用JAVA实现jBCrypt(http://www.mindrot.org/projects/jBCrypt/)给bCrypt一个旋转,并遇到一个主要的显示阻止.

问题在于checkpw方法,当使用非常长的种子时,它总是似乎返回true.我打算使用{InternalSalt} {username} {password}来填写用户的密码,然后使用bCrypt对其进行哈希处理.

所以我有以下代码(尽可能地将其剥离以隔离checkpw).

public class Test {
public static void main(String[] args) {
    String plaintext = "jw~ct/f61y1m7q458GiLVQpiqDK|8kG=d368Id:D@$^_80I{qrn1HM6423{FtestAccountO1nu3jKN";

    String pw_hash = BCrypt.hashpw(plaintext, BCrypt.gensalt());

    if (BCrypt.checkpw("jw~ct/f61y1m7q458GiLVQpiqDK|8kG=d368Id:D@$^_80I{qrn1HM6423{FtestAccountO1nu3jKN", pw_hash))
        System.out.println("It matches");
    else
        System.out.println("It does not match");

}
Run Code Online (Sandbox Code Playgroud)

}

这将是应该打印"匹配".

我有问题是说你说的添加AAA到密码传递给checkpw使它

BCrypt.checkpw("jw~ct/f61y1m7q458GiLVQpiqDK | 8kG = d368Id:D @ $ ^ _ 80I {qrn1HM6423 {FtestAccountO1nu3jKNaaa",pw_hash)

它仍然是真的!不完全是我所期待的.我没有在doc中看到任何密码长度限制但是我无法用较小的密码种子重现它,看起来如果我修改除了字符串结尾之外的其他任何东西,它按预期返回false.

我错过了什么专业吗?我知道我不应该是唯一一个在这些论坛上使用jBcrypt的人,因为我看过BCrypt在做一些研究时在很多帖子中推荐的.

编辑:Windows 7 64位 - Java(TM)SE运行时环境(版本1.6.0_24-b07)

security encryption passwords blowfish salt

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

有没有办法在PHP 5.2中使用bcrypt"hashing"?

我正在运行一个带有密码哈希的网站,但我认为当前的算法是不够的.我尝试使用PHP的crypt()和blowfish选项,但我的PHP版本只有5.2,因此没有启用CRYPT_BLOWFISH.

我见过可以通过Blowfish进行加密的第三方库,但没有一个可以完成Bcrypt的完整散列.你知道有没有使用crypt()函数进行bcrypt散列的PHP库吗?或者,更好的是,任何将第三方blowfish加密算法提供给第三方bcrypt哈希算法的方法?

只是为了澄清,我无法安装更新版本的PHP,因为我在共享主机上.

我真的很感激任何建议!谢谢!

php passwords hash blowfish bcrypt

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

使用Blowfish和Ruby验证在PHP中加密的密码

有一个用PHP编写的应用程序,我将其转换为Ruby.加密密码时,PHP应用程序使用以下代码:

if($method == 2 && CRYPT_BLOWFISH) return crypt($pass, '$2a$07$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxx$');
Run Code Online (Sandbox Code Playgroud)

我假设这是使用Blowfish实现.这里的x都是a-zA-Z0-9字符.

Ruby中的Blowfish实现使用以下语法(取自http://crypt.rubyforge.org/blowfish.html):

blowfish = Crypt::Blowfish.new("A key up to 56 bytes long")
plainBlock = "ABCD1234"
encryptedBlock = blowfish.encrypt_block(plainBlock)
Run Code Online (Sandbox Code Playgroud)

我没有56或更少的字节长字符串,并且不清楚PHP版本应该是什么.那么如何编写一个Ruby函数来加密密码以获得与PHP相同的结果呢?

php ruby authentication encryption blowfish

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

使用Blowfish进行PHP加密

我正在编写一个需要加密密码的注册表,我听说建议我使用Blowfish加密密码,如何使用PHP crypt()函数实现blowfish加密?另外,我打算稍后检索密码以便登录.

php security blowfish

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