Sfoglia il codice sorgente

Changed ID obfuscation algorithm because it sucked

adolfintel 6 anni fa
parent
commit
22bcdb2251
1 ha cambiato i file con 4 aggiunte e 3 eliminazioni
  1. 4 3
      telemetry/idObfuscation.php

+ 4 - 3
telemetry/idObfuscation.php

@@ -23,16 +23,17 @@ function obfdeobf($id){
 	$id=$id&0xFFFFFFFF;
 	for($i=0;$i<16;$i++){
 		$id=$id^$salt;
+		$salt=(($salt>>1)&0xFFFFFFFF)|(($salt&0x00000001)<<31);
+		$id=((0x0000FFFF&$id)<<16)|((0xFFFF0000&$id)>>16);
 		$id=(($id>>1)&0xFFFFFFFF)|(($id&0x00000001)<<31);
-		$salt=(($salt<<1)&0xFFFFFFFF)|(($salt&0xA0000000)>>31);
 	}
 	return $id;
 }
 function obfuscateId($id){
-	return base_convert(obfdeobf($id),10,36);
+	return str_pad(base_convert(obfdeobf($id+1),10,36),7,0,STR_PAD_LEFT);
 }
 function deobfuscateId($id){
-	return obfdeobf(base_convert($id,36,10));
+	return obfdeobf(base_convert($id,36,10))-1;
 }
 
 //IMPORTANT: DO NOT ADD ANYTHING BELOW THE PHP CLOSING TAG, NOT EVEN EMPTY LINES!