Jump to content

mcrypt help


ToonMariner

Recommended Posts

hello,

 

I am sure I had doen this before but I have hit a liit snag...

 

I have to pass the encrypted string one one page to the next - either in a session or a hidden field. The probelm being the special characters in the string.

 

I have used a regular expression to replace line feeds etc... like so.

 

<?php
	$this->find		=	array	(
								"/\\r/"	,
								"/\\n/"	,
								"/\\t/"
								);
	$this->replace	=	array	(
								'linefeedchar'	,
								'newlinechar'	,
								'tabchar'
								);
	$this->rfind	=	array	(
								"\r"	,
								"\n"	,
								"\t"
								);
	$this->rreplace	=	array	(
								'/linefeedchar/'	,
								'/newlinechar/'		,
								'/tabchar/'
								);

	// encrypting.
	$encrypted	=	mcrypt_generic($this->td, $str);
	return preg_replace($this->find, $this->replace,htmlentities($encrypted));

	// decrypting
	$str		=	 html_entity_decode(preg_replace($this->rreplace, $this->rfind,$str));
	return mdecrypt_generic($this->td, $str);

?>		

 

obviously this is all in class methods - that is not the problem.

 

The problem lies with the characters of the encryption and converting them to ones that can be passed via post/session/url and then converted backonce more.

 

If you can spot where I am going wrong please put me right.

 

any thanks....

Link to comment
https://forums.phpfreaks.com/topic/49658-mcrypt-help/
Share on other sites

Thansk for the response obsidian.

 

just tried it a couple of ways with and with the htmlentities and html_entity_decode but to no avail.

 

there are still some [pre][/pre] chars in the string that I can't get to identify and the decrypion is failing miserably....

Link to comment
https://forums.phpfreaks.com/topic/49658-mcrypt-help/#findComment-243482
Share on other sites

I have a dumb question... are you initializing using mcrypt_generic_init() first? I figure you probably are, and it's just not showing in the code. Also, you don't have any trailing spaces or anything, do you?

 

One final thought: is the charset of the retrieving page the same as that on the sending page? If you encrypt one charset and decrypt it using another, you may well come up with some unrecognizable characters.

 

You've probably already covered all these, but I figured I'd better check them anyway.

Link to comment
https://forums.phpfreaks.com/topic/49658-mcrypt-help/#findComment-243491
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.