IP Base 64
Posted by KilledInAction
Tuesday, March 16, 2004
Description: Convert IPs to and from base 64 (useless really unless you're making an ircd)


alias base64 {
  if $prop == 10 {
    return $gettok(A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:0:1:2:3:4:5:6:7:8:9:[:],$calc($1 +1),58)
  }
  else { return $calc($findtokcs(A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:0:1:2:3:4:5:6:7:8:9:[:],$1,1,58) -1)
  }
}

alias ipconvert {
  if ($prop == 64) {
    var %ipconvert = 0000 $+ $base($gettok($1,1,46),10,2,8) $+ $base($gettok($1,2,46),10,2,8) $+ $base($gettok($1,3,46),10,2,8) $+ $base($gettok($1,4,46),10,2,8)
    %ipconvert = $mid(%ipconvert,1,6) $mid(%ipconvert,7,6) $mid(%ipconvert,13,6) $mid(%ipconvert,19,6) $mid(%ipconvert,25,6) $mid(%ipconvert,31,6)
    %ipconvert = $base($gettok(%ipconvert,1,32),2,10) $base($gettok(%ipconvert,2,32),2,10) $base($gettok(%ipconvert,3,32),2,10) $base($gettok(%ipconvert,4,32),2,10) $base($gettok(%ipconvert,5,32),2,10) $base($gettok(%ipconvert,6,32),2,10)
    %ipconvert = $base64($gettok(%ipconvert,1,32)).10 $+ $base64($gettok(%ipconvert,2,32)).10 $+ $base64($gettok(%ipconvert,3,32)).10 $+ $base64($gettok(%ipconvert,4,32)).10 $+ $base64($gettok(%ipconvert,5,32)).10 $+ $base64($gettok(%ipconvert,6,32)).10
    return %ipconvert
  }
  else {
    var %sock_userip = $base64($mid($1,1,1)) $base64($mid($1,2,1)) $base64($mid($1,3,1)) $base64($mid($1,4,1)) $base64($mid($1,5,1)) $base64($mid($1,6,1))
    %sock_userip = $base($gettok(%sock_userip,1,32),10,2,6) $+ $base($gettok(%sock_userip,2,32),10,2,6) $+ $base($gettok(%sock_userip,3,32),10,2,6) $+ $base($gettok(%sock_userip,4,32),10,2,6) $+ $base($gettok(%sock_userip,5,32),10,2,6) $+ $base($gettok(%sock_userip,6,32),10,2,6)
    %sock_userip = $mid(%sock_userip,5,8) $mid(%sock_userip,13,8) $mid(%sock_userip,21,8) $mid(%sock_userip,29,8)
    %sock_userip = $base($gettok(%sock_userip,1,32),2,10) $+ . $+ $base($gettok(%sock_userip,2,32),2,10) $+ . $+ $base($gettok(%sock_userip,3,32),2,10) $+ . $+ $base($gettok(%sock_userip,4,32),2,10)
    return %sock_userip
  }
}
Submit a comment
Oops! You need to login or register before you can post a comment!

ebaum's world