ToonMariner Posted May 2, 2007 Share Posted May 2, 2007 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 More sharing options...
obsidian Posted May 2, 2007 Share Posted May 2, 2007 Have you tried running serialize() on it to bring it to an assignable string? Then, you can run unserialize() on the variable on the receiving end to return it to your format. Link to comment https://forums.phpfreaks.com/topic/49658-mcrypt-help/#findComment-243469 Share on other sites More sharing options...
ToonMariner Posted May 2, 2007 Author Share Posted May 2, 2007 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 More sharing options...
obsidian Posted May 2, 2007 Share Posted May 2, 2007 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 More sharing options...
ToonMariner Posted May 2, 2007 Author Share Posted May 2, 2007 mcrypt_generic_init() - yes... trailing spaces??? no the string is trimed before going to the encrypter... charset is teh same on bothe pages <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /> Link to comment https://forums.phpfreaks.com/topic/49658-mcrypt-help/#findComment-243496 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.