标签: blowfish

C#blowfish加密/解密

有没有人可以链接到一个可以加密/解密文本的河豚库?

我发现一些.dll用于Windows并使用pinvoke来加密/解密文本,但这些dll不适用于linux(单声道).我希望一个库可以在windows和linux上工作

谢谢.

c# encryption blowfish

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

使用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
查看次数

Android中的Blowfish加密

cipher = Cipher.getInstance("Blowfish");
Run Code Online (Sandbox Code Playgroud)

抛出异常java.security.NoSuchAlgorithmException:找不到Cipher Blowfish实现.

我检查了local_policy.jar和US_export_policy.jar是否存在,并且从安装java时起它们没有更改.什么可能导致这个问题?

编辑:

Object[] o = Security.getAlgorithms("Cipher").toArray();
    for (int i=0; i<o.length; i++) {
        System.out.println((String)o[i]);
    }
Run Code Online (Sandbox Code Playgroud)

当我运行这段代码时,我得到的列表中没有"Blowfish",但在DES或RSA等算法名称中有一些未知的名称,如"1.2.840.113549.1.1.7"等.为什么那里没有河豚或隐藏在这些数字中?

java android blowfish

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

Java - 使用blowfish加密时缺少最终字符

我正在使用一些使用Blowfish加密文本文件内容的j​​ava代码.当我将加密文件转换回来(即解密它)时,字符串从末尾开始缺少一个字符.有什么想法吗?我是Java的新手,并且在没有运气的情况下花了好几个小时.

war_and_peace.txt文件只包含字符串"This is some text".decrypted.txt包含"这是一些tex"(最后没有t).这是java代码:

public static void encrypt(String key, InputStream is, OutputStream os) throws Throwable {
    encryptOrDecrypt(key, Cipher.ENCRYPT_MODE, is, os);
}

public static void decrypt(String key, InputStream is, OutputStream os) throws Throwable {
    encryptOrDecrypt(key, Cipher.DECRYPT_MODE, is, os);
}

private static byte[] getBytes(String toGet)
{
    try
    {
        byte[] retVal = new byte[toGet.length()];
        for (int i = 0; i < toGet.length(); i++)
        {
            char anychar = toGet.charAt(i);
            retVal[i] = (byte)anychar;
        }
        return retVal;
    }catch(Exception e)
    {
        String errorMsg = "ERROR: getBytes …
Run Code Online (Sandbox Code Playgroud)

java encryption blowfish

5
推荐指数
2
解决办法
6671
查看次数

Blowfish和Blowfish-compat有什么区别?

我似乎无法找到差异的来源.我在这个在线解密工具中发现了这种差异

http://www.tools4noobs.com/online_tools/decrypt/

我有一些加密的Blowfish数据,我试图通过Python的PyCrypto模块解密.然而,问题是数据似乎是用"blowfish-compat"加密的,因为这是通过在线工具解密它所需要的; 我不能通过PyCrypto的模块解密它,我收集它严格使用Blowfish解密(而不是Blowfish-compat,不管是什么).

有可能以某种方式通过Python解密blowfish-compat吗?我不知道两者之间的区别.

python encryption blowfish mcrypt

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

如何使用河豚自动生成用于crypt方法的盐

我刚开始学习PHP,我想创建一个登录我最后一年大学项目的网站.我已经读过,在这样的很多地方,河豚是最好的散列方法:openssl_digest vs hash vs hash_hmac?SALT和HMAC之间的区别?

我读到的关于crypt方法的每个地方都包含一个字符串,比如$2y$07$usesomesillystringforsalt$我的主要问题是:我如何随机生成这个?我已经读过时间戳和mt_rand()不安全的地方.

我也听说AES是最近的首选技术,但从我看来,在PHP中实现它似乎相当棘手!河豚仍然是保护存储密码的可接受方法吗?

php passwords crypt blowfish

5
推荐指数
2
解决办法
7826
查看次数

jsfiddle - Chrome 中的网络钓鱼警告

按“运行”后我收到此消息:

即将报告钓鱼网站!Google Chrome 已阻止访问 fiddle.jshell.net。该网站已被报告为网络钓鱼网站。网络钓鱼网站旨在通过伪装成您可能信任的其他网站来诱骗您泄露您的登录名、密码或其他敏感信息。了解更多 返回 高级

这是一个屏幕截图: “即将报告的网络钓鱼网站”Google Chrome 屏幕截图

google-chrome blowfish jsfiddle

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

php crypt()河豚盐长度向后兼容

我使用crypt()来哈希密码,像这样的河豚盐:

[a-zA-Z0-9] $ 2a $,2位数,$,21个字符

在这里我犯了一个错误,在第三个$ 21之后的字符长度不是22.但它工作正常所以我没有找到错误.

它适用于运行Windows和PHP 5.4.4的桌面以及使用php 5.3.x运行Amazon linux的AWS ec2,其中包含太短的盐.

有一天,我将AWS php更新为5.5.14.然后问题发生了.crypt()一直返回*0.

经过一番尝试,我在盐的末尾加了一个$,所以它变成22个字符.它再次工作并返回与以前相同的哈希字符串.虽然它不遵守河豚规则,但字符应为[./a-zA-Z0-9]

但是现在我将这个站点复制到另一台运行openSuSE 13.1和php 5.5.14的机器上,这个盐再次失败了.

我将php降级到5.4.20,但没有帮助.

新站点仍然需要旧数据库,所以我必须使密码哈希工作.

什么是影响此河豚盐长度错误兼容性问题的库或模块?Tt似乎不是PHP的版本.AWS 5.5.14

或者是否有另一个神奇的咒语可以再次救我?我尝试在[./a-zA-Z0-9]中为每个替换尾部$但是没有幸运,哈希字符串是不同的....

php blowfish salt

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

从Mcrypt与Blowfish和ECB一起移动到OpenSSL

在(不太遥远)过去,(在这里工作较长的人)做出的决定总是将数据库ID"加密"到其他东西,即时,只要外部通信需要它.

现在,我们已经从PHP 5.x转移到PHP 7.0用于我们的主应用程序,而我们遍布基础架构的微服务运行7.0或7.1.7.1服务器继续抛出mcrypt的弃用警告.没什么大不了的.但是随着PHP 7.2的到来,我们希望不断更新和升级.麦克莱普正在阻挠.

要在1400个数据库中保存60个表中的所有当前加密值,这是一项艰巨的任务.有没有办法利用OpenSSL,Blowfish和ECB,获得相同的编码和解码值,以使我们陷入虚假的安全感?所有这些都可以让我们远程规划数据库迁移.

基本上,当前加密的值是这样的:

item:13fb7533bf19399ff114468b194ebfaf

这是身份证123.它通过以下函数来获取此字符串:

$id   = 123;
$type = 'item';

$serialized = serialize('' . $id); // To make sure always a string gets put in

$ivSize = mcrypt_create_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND);
$iv     = mcrypt_create_iv($ivSize);

$passCrypt = mcrypt_encrypt(MCRYPT_BLOWFISH, $type, $serialized, MCRYPT_MODE_ECB, $iv);
$encoded   = bin2hex($passCrypt); // `13fb7533bf19399ff114468b194ebfaf`

$encryptedId = $type . ':' . $encoded;
Run Code Online (Sandbox Code Playgroud)

这给出了最终结果item:13fb7533bf19399ff114468b194ebfaf.

现在,换句话说:

$encryptedId = 'item:13fb7533bf19399ff114468b194ebfaf';

$type = 'item';
$encryptedIdOnly = substr($encryptedId, strlen($type) + 1); // `13fb...`

$decoded   = hex2bin($encryptedIdOnly); …
Run Code Online (Sandbox Code Playgroud)

php openssl blowfish mcrypt

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

密码已损坏

这个周末,我们的docker映像损坏了,因为它无法再构建了。在查看统计数据时,我看到了这一行:

crypt_blowfish-1.2/crypt.h:17:23: fatal error: gnu-crypt.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

更详细地:

  Running setup.py bdist_wheel for cryptacular: started
  Running setup.py bdist_wheel for cryptacular: finished with status 'error'
  Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sayd65k0/cryptacular/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp5734bf55pip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/cryptacular
  copying cryptacular/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular
  creating build/lib.linux-x86_64-3.6/cryptacular/crypt
  copying cryptacular/crypt/test_crypt.py -> build/lib.linux-x86_64-3.6/cryptacular/crypt
  copying cryptacular/crypt/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/crypt
  creating build/lib.linux-x86_64-3.6/cryptacular/bcrypt
  copying cryptacular/bcrypt/test_bcrypt.py -> build/lib.linux-x86_64-3.6/cryptacular/bcrypt
  copying cryptacular/bcrypt/__init__.py …
Run Code Online (Sandbox Code Playgroud)

python blowfish pip python-3.x

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