标签: mcrypt

Mac OS X Mojave 上需要 Mcrypt PHP 扩展

我只是将我的更新到 Mac OS X Mojave。我的本地站点现在停止加载。

我不断得到

需要 Mcrypt PHP 扩展。

我试过

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt
php --version // To Test your php 
Run Code Online (Sandbox Code Playgroud)

我有

错误:php54-mcrypt:无法加载此类文件 -- /usr/local/opt/php54-mcrypt/Abstract/abstract-php-extension

我尝试重新加载我的网站

我仍然得到这个

需要 Mcrypt PHP 扩展。


我的设置详情

php --version,我有

PHP 7.1.4 (cli) (built: May  6 2017 10:02:00) ( NTS )                            
Copyright (c) 1997-2017 The PHP Group                                            
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies                    
    with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies …
Run Code Online (Sandbox Code Playgroud)

mcrypt php-ini laravel laravel-5 macos-mojave

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

PHP mcrypt使用类?

我很擅长这个.当我认为一个好的教程会做得更好时,试图理解PHP.net上mcrypt的手册页.所以我没有任何实质性的搜索.

我还尝试了使用mcrypt使用2个函数执行加密和解密的一个示例,但它给出了"密钥大小对于此算法来说太大"的警告.

任何人都可以请我写一个双向类来使用mcrypt进行加密/解密,这样我就可以理解库了吗?谢谢!

php encryption mcrypt

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

PHP AES解密

我真的很难解密PHP中给定的密文,我希望你们中的一个能够找到我在这个问题上的错误.

所以这是我正在尝试解码的字符串

Wq+J2IlE7Cug1gJNiwy1beIcFggGhn+gZHkTCQ4J/DR3OY45OMs4RXN850xbfAmy
Run Code Online (Sandbox Code Playgroud)

我知道用AES/CBC/PKCS5Padding加密了IV

2ZqVSHjqn3kMump0rvd8AA==
Run Code Online (Sandbox Code Playgroud)

我会根据要求给你发电子邮件.

public static function aes128cbcDecrypt($key, $encrypted_text, $iv) 
{
  $td = mcrypt_module_open(MCRYPT_RIJNDAEL_192, '', MCRYPT_MODE_CBC, '');
  mcrypt_generic_init($td, $key, $iv);
  $decrypted = mdecrypt_generic($td, $encrypted_text);
  mcrypt_generic_deinit($td);
  mcrypt_module_close($td);
  return trim($decrypted);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行时,我得到完全的胡言乱语

ã5‡³/.3p›¤ý°$² —ïÅ»<9 ‘m ê|Ÿ.ÂYº|Šû^w¬¾‚=l“½·F›VársT~ê H?ÿfß]7ñH
Run Code Online (Sandbox Code Playgroud)

同样,当我加密已知的纯文本时,我得到了一堆乱码而不是ascii字符串.

† —4†º¢V?Öæƒ{ Zsöœl ò°Þ 
PegöE&£á=Ǻ܀
Run Code Online (Sandbox Code Playgroud)

你有没有想到我出错的地方?

php encryption aes mcrypt rijndael

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

mcrypt linux如何使用rijndael 256 cbc

我正在使用linux/ubuntu.我发现mcrypt自动包含在这个平台中的库中.我想用aes 256和cbc padding 7(iv)创建加密.有人可以给我一个例子,说明如何使用aes 256和cbc iv,padding 7加密字符串?

Rijndael和aes一样.

这是我在想要使用的库中找到的链接:http://linux.die.net/man/3/mcrypt

c++ linux ubuntu mcrypt

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

php使用mcrypt_create_iv

我想在PHP中创建一个随机的int和字符串,所以我决定使用mcrypt_create_iv.它是用手写的,它使用/ dev/random和/ dev/urandom来实现随机性,但我找不到一个关于如何使用这个函数生成随机Int和String的简单教程.我尝试了一些代码,但是这个函数给了我不可读的字符.那么请你给我一个简单的例子说明我可以正确使用它吗?

php string random int mcrypt

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

如何使用dcpcrypt在delphi和php之间同步加密

我正在使用Delphi 2009,我在这里看到的大部分答案都是针对2010+我尝试将加密(delphi)同步到解密(php)并失败.

在delphi中生成加密的字符串:

program Project4;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  DCPcrypt2,
  DCPsha1,
  DCPblockciphers,
  DCPdes,
  EncdDecd;

var des: tdcp_des;
    enc,dec: ansistring;

begin
  try
  des:=tdcp_des.Create(nil);
  des.InitStr('test', tdcp_sha1);
  enc:=encodestring(des.EncryptString('this is a test'));
  des.Free;

  des:=tdcp_des.Create(nil);
  des.InitStr('test', tdcp_sha1);
  dec:=des.DecryptString(decodestring(enc));
  des.Free;

  writeln(enc);
  writeln(dec);
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.
Run Code Online (Sandbox Code Playgroud)

在php中解密:

<?php
function decrypt($str, $key)
{
    $size = mcrypt_get_iv_size(MCRYPT_DES, MCRYPT_MODE_CBC);
    $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
    $data = base64_decode($str);
    $block = mcrypt_get_block_size('des', 'ecb');
    $k = substr(sha1($key), 0, $block);
    $str = mcrypt_decrypt(MCRYPT_DES, $k, $data, MCRYPT_MODE_CBC, $iv);
    $pad …
Run Code Online (Sandbox Code Playgroud)

php delphi mcrypt

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

使用mcrypt_dev_random生成256位令牌

我想使用mcrypt创建一个256位令牌来设置为用户的cookie.

我已经阅读了一些建议使用mcrypt DEV_RANDOM的文章

我正在使用代码

$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
Run Code Online (Sandbox Code Playgroud)

但是当我输出令牌时我得到的结果是

?w????:z???{d
Run Code Online (Sandbox Code Playgroud)

这是它应该是什么样子?不,我不需要做什么来生成一个合适的令牌.

谢谢

php encryption mcrypt

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

Laravel Crypt 值在每次重新加载时发生变化

我正在尝试使用 Laravel 的Crypt功能,简单地将一个值存储在数据库中并稍后获取以使用。但是我注意到我无法解密这个值。

我的应用程序密钥是一个随机的 32 个字符的字符串。我的密码是MCRYPT_RIJNDAEL_128. 从 PHP 信息来看,已经安装了 MCRYPT,并且支持 RIJNDAEL_128。

为了测试,我在 GET rou 上执行以下操作:

$t = "123456789";

var_dump(Crypt::encrypt($t));
Run Code Online (Sandbox Code Playgroud)

见:http : //laravel.io/bin/2e9Xr#

在每次页面刷新时,输出都是不同的值,这显然是不正确的 - 但我不知道为什么。

我使用EasyPHP作为我的开发服务器。然而,我注意到的一件事是,与生产环境中的 Apache Web 服务器相比,应用程序请求在此环境中明显变慢。

这让我想知道是否每次都进行某种环境刷新,可能会重置 MCRYPT 用于加密的“资源”,因此每次都不同。

有什么线索吗?

php mcrypt laravel

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

使用mcrypt进行PHP解密会返回难以理解的文本而不是原始明文

我只是想加密和解密一个字符串.但是当我输出解密的字符串时,我只得到:

??
  ^????V??_??n?.ZZ?????:?2??
Run Code Online (Sandbox Code Playgroud)

我的代码:

function encrypt($string, $secret_key = "ATRTHTRAGSFRSGTS") {                                                                                                                   
   $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);                                                                      
   return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $string, MCRYPT_MODE_CBC, $iv);                                                                             
}                                                                                                                                                                       

function decrypt($string, $secret_key = "ATRTHTRAGSFRSGTS") {                                                                                                                   
   $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);                                                                      
   return mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $secret_key, $string, MCRYPT_MODE_CBC, $iv);                                                                             
}                                                                                                                                                                       
$text = 'This is a test.';                                                                                                                                              
$enc = encrypt($text);                                                                                                                                                  
$dec = decrypt($enc);                                                                                                                                                   

echo $dec;
Run Code Online (Sandbox Code Playgroud)

任何想法都可能出错?

php encryption mcrypt

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

加密会导致无效密钥大小出错

我正在创建一个随机密钥,然后我想使用一个好的算法加密它,然后我想用这个加密的密钥加密数据.我的代码是:

$iv=16; //128bits
$datakey = base64_encode(openssl_random_pseudo_bytes($iv,$strong));
$datakey = md5($datakey);
$finaldata= mcrypt_encrypt(MCRYPT_BLOWFISH, $datakey, $stringtobeencoded, MCRYPT_MODE_CFB);
Run Code Online (Sandbox Code Playgroud)

错误:

加密模式需要大小为8的初始化向量

如何完成我的要求?

php security encryption mcrypt

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

标签 统计

mcrypt ×10

php ×8

encryption ×5

laravel ×2

aes ×1

c++ ×1

delphi ×1

int ×1

laravel-5 ×1

linux ×1

macos-mojave ×1

php-ini ×1

random ×1

rijndael ×1

security ×1

string ×1

ubuntu ×1