busymum Posted August 18, 2006 Share Posted August 18, 2006 On the orders page for each order, the credit card number is displayed like this: U9aXUlW7QdSXM1SXQNOjQFO7U5aXU1W (not encrypted) I need it to be displayed like this: 5434XXXXXXXX8508 Can anyone tell me how to fix this problem? Thank you. Quote Link to comment Share on other sites More sharing options...
insomniac2 Posted August 19, 2006 Share Posted August 19, 2006 (edited) You are missing the decrypt credit card number code .. or it is not installed correctly. First of all you will have to tell us exactly what MOD you have installed to encrypt credit card numbers. We can't help you as there are several MODS that encrypt ... and we don't know which one you are talking about. Once you tell us the MOD you may need to post some of your code for members to look at. Edited August 19, 2006 by insomniac2 Quote Link to comment Share on other sites More sharing options...
busymum Posted August 19, 2006 Author Share Posted August 19, 2006 You are missing the decrypt credit card number code .. or it is not installed correctly. First of all you will have to tell us exactly what MOD you have installed to encrypt credit card numbers. We can't help you as there are several MODS that encrypt ... and we don't know which one you are talking about. Once you tell us the MOD you may need to post some of your code for members to look at. Hi thanks for replying. I didn't install the mod myself, but I can find out which mod it is. In the decrypt.php file in admin/includes/functions, the code is this: function changedataout($cipher_data,$key){ // decode cipher data with key using xoft encryption */ $m=0; $all_bin_chars=""; for($i=0;$i<strlen($cipher_data);$i++){ $c=substr($cipher_data,$i,1); // c = ciphertext $decimal_value=base64todec($c); //convert to decimal value $decimal_value=($decimal_value - $m) / 4; //substract by m where m=0,1,2,or 3 then divide by 4 $four_bit=decbin($decimal_value); while(strlen($four_bit)<4){ $four_bit="0".$four_bit; } $all_bin_chars=$all_bin_chars.$four_bit; $m++; if($m>3){ $m=0; } } $key_length=0; $plain_data=""; for($j=0;$j<strlen($all_bin_chars);$j=$j+8){ $c=substr($all_bin_chars,$j,8); $k=substr($key,$key_length,1); $dec_chars=bindec($c); $dec_chars=$dec_chars - strlen($key); $c=chr($dec_chars); $key_length++; if($key_length>=strlen($key)){ $key_length=0; } $dec_chars=ord($c)^ord($k); $p=chr($dec_chars); $plain_data=$plain_data.$p; } return $plain_data; } function base64todec($base64_value){ // convert base64 value into decimal value switch($base64_value){ case "A":$decimal_value=0;break; case "B":$decimal_value=1;break; case "C":$decimal_value=2;break; case "D":$decimal_value=3;break; case "E":$decimal_value=4;break; case "F":$decimal_value=5;break; case "G":$decimal_value=6;break; case "H":$decimal_value=7;break; case "I":$decimal_value=8;break; case "J":$decimal_value=9;break; case "K":$decimal_value=10;break; case "L":$decimal_value=11;break; case "M":$decimal_value=12;break; case "N":$decimal_value=13;break; case "O":$decimal_value=14;break; case "P":$decimal_value=15;break; case "Q":$decimal_value=16;break; case "R":$decimal_value=17;break; case "S":$decimal_value=18;break; case "T":$decimal_value=19;break; case "U":$decimal_value=20;break; case "V":$decimal_value=21;break; case "W":$decimal_value=22;break; case "X":$decimal_value=23;break; case "Y":$decimal_value=24;break; case "Z":$decimal_value=25;break; case "a":$decimal_value=26;break; case "b":$decimal_value=27;break; case "c":$decimal_value=28;break; case "d":$decimal_value=29;break; case "e":$decimal_value=30;break; case "f":$decimal_value=31;break; case "g":$decimal_value=32;break; case "h":$decimal_value=33;break; case "i":$decimal_value=34;break; case "j":$decimal_value=35;break; case "k":$decimal_value=36;break; case "l":$decimal_value=37;break; case "m":$decimal_value=38;break; case "n":$decimal_value=39;break; case "o":$decimal_value=40;break; case "p":$decimal_value=41;break; case "q":$decimal_value=42;break; case "r":$decimal_value=43;break; case "s":$decimal_value=44;break; case "t":$decimal_value=45;break; case "u":$decimal_value=46;break; case "v":$decimal_value=47;break; case "w":$decimal_value=48;break; case "x":$decimal_value=49;break; case "y":$decimal_value=50;break; case "z":$decimal_value=51;break; case "0":$decimal_value=52;break; case "1":$decimal_value=53;break; case "2":$decimal_value=54;break; case "3":$decimal_value=55;break; case "4":$decimal_value=56;break; case "5":$decimal_value=57;break; case "6":$decimal_value=58;break; case "7":$decimal_value=59;break; case "8":$decimal_value=60;break; case "9":$decimal_value=61;break; case "+":$decimal_value=62;break; case "/":$decimal_value=63;break; case "=":$decimal_value=64;break; default: $decimal_value=0;break; } return $decimal_value; } ?> I have compared this code to another file in another site that works exactly the same way and I can't find any error. Or, am I looking at the wrong page or am I missing a file? Many many thanks! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.