Guest User

Untitled

a guest
Sep 16th, 2020
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. function generate_tripcode($name) {
  2. global $config;
  3.  
  4. if ($trip = event('tripcode', $name))
  5. return $trip;
  6.  
  7. if (!preg_match('/^([^#]+)?(##|#)(.+)$/', $name, $match))
  8. return array($name);
  9.  
  10. $name = $match[1];
  11. if($name == ""){
  12. $name= $config['anonymous'];
  13. }
  14. $secure = $match[2] == '##';
  15. $trip = $match[3];
  16.  
  17. // convert to SHIT_JIS encoding
  18. $trip = mb_convert_encoding($trip, 'Shift_JIS', 'UTF-8');
  19.  
  20. // generate salt
  21. $salt = substr($trip . 'H..', 1, 2);
  22. $salt = preg_replace('/[^.-z]/', '.', $salt);
  23. $salt = strtr($salt, ':;<=>?@[\]^_`', 'ABCDEFGabcdef');
  24. if ($secure) {
  25. if (isset($config['custom_tripcode']["##{$trip}"]))
  26. $trip = $config['custom_tripcode']["##{$trip}"];
  27. else{
  28. $trip = substr(crypt($trip, str_replace('+', '.', '_..A.' . substr(base64_encode(sha1($trip . $config['secure_trip_salt'], true)), 0, 4))), -10);
  29. $trip = makeKoremutakeString($trip);
  30. }
  31. } else {
  32. if (isset($config['custom_tripcode']["#{$trip}"]))
  33. $trip = $config['custom_tripcode']["#{$trip}"];
  34. else
  35. $trip = substr(crypt($trip, $salt), -10);
  36. }
  37.  
  38. if($secure){
  39. $trip = '!!' . $trip;
  40. } else{
  41. $trip = '!' . $trip;
  42. }
  43. return array($name, $trip);
  44. }
  45.  
  46. //method from http://shorl.com/koremutake.php
  47. function makeKoremutakeString($str){
  48. $koremutake_arr = ["BA", "BE", "BI", "BO", "BU", "BY", "DA", "DE", "DI", "DO", "DU", "DY", "FA", "FE", "FI", "FO", "FU", "FY", "GA",
  49. "GE", "GI", "GO", "GU", "GY", "HA", "HE", "HI", "HO", "HU", "HY", "JA", "JE", "JI", "JO", "JU", "JY", "KA", "KE", "KI",
  50. "KO", "KU", "KY", "LA", "LE", "LI", "LO", "LU", "LY", "MA", "ME", "MI", "MO", "MU", "MY", "NA", "NE", "NI", "NO", "NU",
  51. "NY", "PA", "PE", "PI", "PO", "PU", "PY", "RA", "RE", "RI", "RO", "RU", "RY", "SA", "SE", "SI", "SO", "SU", "SY", "TA",
  52. "TE", "TI", "TO", "TU", "TY", "VA", "VE", "VI", "VO", "VU", "VY", "BRA", "BRE", "BRI", "BRO", "BRU", "BRY", "DRA", "DRE",
  53. "DRI", "DRO", "DRU", "DRY", "FRA", "FRE", "FRI", "FRO", "FRU", "FRY", "GRA", "GRE", "GRI", "GRO", "GRU", "GRY", "PRA",
  54. "PRE", "PRI", "PRO", "PRU", "PRY", "STA", "STE", "STI", "STO", "STU", "STY", "TRA", "TRE"];
  55. $str = str_replace(".", "+", $str);
  56. $str_dec = unpack('C*', base64_decode($str));
  57. $kore_str = "";
  58. foreach($str_dec as $key => $char_dec){
  59. $kore_str .= $koremutake_arr[$char_dec >> 1];
  60. var_dump(($char_dec >> 1));
  61. if($key % 3 == 0){
  62. $kore_str .= " - ";
  63. }
  64. }
  65. var_dump($kore_str);
  66. return $kore_str;
  67. }
Add Comment
Please, Sign In to add comment