473,672 Members | 2,718 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Mcrypt Problems

I have tried to follow the instructions in the PHP manual but have been
unable to get things working properly myself. The following script works
fine for me:
<?php
/* Open the cipher */
$td = mcrypt_module_o pen ('rijndael-256', '', 'ofb', '');

/* Create the IV and determine the keysize length */
$iv = mcrypt_create_i v (mcrypt_enc_get _iv_size($td),
MCRYPT_DEV_RAND OM);
$ks = mcrypt_enc_get_ key_size ($td);

/* Create key */
$key = substr (md5 ('very secret key'), 0, $ks);

/* Intialize encryption */
mcrypt_generic_ init ($td, $key, $iv);

/* Encrypt data */
$encrypted = mcrypt_generic ($td, 'This is very important data');

/* Terminate encryption handler */
mcrypt_generic_ deinit ($td);

/* Initialize encryption module for decryption */
mcrypt_generic_ init ($td, $key, $iv);

/* Decrypt encrypted string */
$decrypted = mdecrypt_generi c ($td, $encrypted);

/* Terminate decryption handle and close module */
mcrypt_generic_ deinit ($td);
mcrypt_module_c lose ($td);

/* Show string */
echo trim ($decrypted)."\ n";
?>

But, the encryption and decryption are all done in one shot - I've tried
to make two functions:

<?php
function do_encrypt ($string, $key) {
/* Open the cipher */
$td = mcrypt_module_o pen ('rijndael-256', '', 'ofb', '');

/* Create the IV and determine the keysize length */
$iv = mcrypt_create_i v (mcrypt_enc_get _iv_size($td),
MCRYPT_DEV_RAND OM);
$ks = mcrypt_enc_get_ key_size ($td);

/* Create key */
$key = substr (md5 ($key), 0, $ks);

/* Intialize encryption */
mcrypt_generic_ init ($td, $key, $iv);

/* Encrypt data */
$encrypted = mcrypt_generic ($td, 'This is very important data');

/* Terminate decryption handle and close module */
mcrypt_generic_ deinit ($td);
mcrypt_module_c lose ($td);

return $encrypted;

}

function do_decrypt ($string, $key) {
/* Open the cipher */
$td = mcrypt_module_o pen ('rijndael-256', '', 'ofb', '');

/* Create the IV and determine the keysize length */
$iv = mcrypt_create_i v (mcrypt_enc_get _iv_size($td),
MCRYPT_DEV_RAND OM);
$ks = mcrypt_enc_get_ key_size ($td);

/* Create key */
$key = substr (md5 ($key), 0, $ks);

/* Initialize encryption module for decryption */
mcrypt_generic_ init ($td, $key, $iv);

/* Decrypt encrypted string */
$decrypted = mdecrypt_generi c ($td, $string);

/* Terminate decryption handle and close module */
mcrypt_generic_ deinit ($td);
mcrypt_module_c lose ($td);

return $decrypted;
}

$encrypted_stri ng = do_encrypt("my string", "my key");

echo "The encrypted string is: " . $encrypted_stri ng . "<br>\n";

$decrypted_stri ng = do_decrypt($enc rypted_string, "my key");

echo "The decrypted string is: " . $decrypted_stri ng . "<br>\n";
?>

The thing is, the decrypted string never comes out as "my string"...

Can anyone help.

--
Pneu.....
http://www.pneumatus.co.uk
Release Your Mind
Jul 16 '05 #1
0 2063

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
3302
by: Matt McKay | last post by:
I've written a php page which allows users to type in a text string and a key, then choose from a dropdown menu of encryption/decryption cyphers, and a method (encrypt, decrypt). The whole thing works, except the mcrypt command doesn't work. here is my mcrypt command: if ($method == 0) { //Encrypt $output = mcrypt_ecb ($algorithm, $key, $input, MCRYPT_ENCRYPT);
3
2475
by: Marek Muszak | last post by:
Hello, I try use mcrypt but I want to use key in bytes, not in string. Encrypt text will be decrypt in Delphi with function where key is 16byte not string. How can I do this. Thanks for any help. best regards
0
1486
by: William Holroyd | last post by:
So I've got PHP to recognize mcrypt and pdflib in the phpinfo() output, but trying to use any of the functions fail with "...undefined function called..". There aren't any configurable files with either distro and neither mention php.ini settings need to be made. Restarting the apache server does not fix this and no errors are reported while starting. The most recent stable releases Apache 2.0.49 and PHP 4.3.6 are being used with mcrypt...
1
9069
by: BKDotCom | last post by:
I'm writing an app that will use blowfish encryption.. PHP's mcrypt will be used if available. if not, I'll use PHPmyadmin's blowfish.php library. The problem is I can't figure out what initialization vector blowfish.php is useing (or if that's even my problem). ie, if I encrypt with blowfish.php and decrypt with mcrypt: /* include path to phpmyadmin '/libraries/blowfish.php'; */ $secret = 'secret';
4
28025
by: believein | last post by:
Hi all, I installed PHP thru the XAMPP package on my windows machine. The problem, I couldn't solve, is that the mcryppt funcs don't work. It return the following message: Call to undefined function mcrypt_decrypt() ... If I write a <?php echo ***";
1
2128
by: laredotornado | last post by:
Hello, My hosting company does not support the PHP mcrypt functions. Instead, they recomend using the command line, /usr/local/bin/mcrypt utility via PHP's exec method. Sadly, they do not provide any documentation how to do this. How would i translate the following function encryptString($p_str) { $iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
5
3060
by: sylvian stone | last post by:
Hi, I'm getting some strange errors that I cannot pin down: Warning: mcrypt_generic_init(): Iv size incorrect; supplied length: 7, needed: 8 in...... This is strange because the data is encrypted, inserted into the databse, then later retrieved and decrypted with the necessary hash and ivector keys.
0
1671
by: codearcher | last post by:
I have the latest version of XAMPP installed on Windows XP Pro SP2. I am trying to use mcrypt with rijnndael-128 on ecb: " $cr = mcrypt_module_open('rijndael-128','','ecb','') or die('<br><br>Could not open Module<br><br>'); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($cr), MCRYPT_RAND) or die('<br><br>Could not create iv<br><br>'); mcrypt_generic_init($cr, $key, $iv) or die('<br><br>Could not initialize mcrypt<br><br>'); $remix =...
0
2024
by: E. Recio | last post by:
Long story short. I want to use Mac OS/X and PHP. I have a db with passwords stored under Linux using the crypt("foo", "$1$".$salt."$); scheme. This means that crypt should execute a CRYPT_MD5 password hash. I know that Mac OS/X only supports the two DES'. So is there a way I can use mcrypt, or mhash or ANY library to reproduce php's CRYPT_MD5 crypt() call? I don't really have a choice to use another password hash scheme, as the data is...
3
8768
by: =?UTF-8?Q?Ahmad_=E3=8B=A1_Baitalmal?= | last post by:
Hi, I'm having a hard time getting python-mcrypt extension to build. I installed libmcrypt with --prefix=/usr and I checked that the library exists -rwxr-xr-x 1 root wheel 352K Sep 19 16:53 /usr/lib/libmcrypt. 4.4.8.dylib* lrwxr-xr-x 1 root wheel 21B Sep 19 16:53 /usr/lib/libmcrypt. 4.dylib@ -libmcrypt.4.4.8.dylib lrwxr-xr-x 1 root wheel 21B Sep 19 16:53 /usr/lib/
0
8505
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8947
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8851
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8645
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8699
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7479
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5722
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4245
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
1842
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.