This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

68 lines
2.2 KiB
Python

import random
import struct
import socket
class stringandip (object):
def __init__(self):
pass
def ipv4(self,m, n, x):
if m == '-1':
m = random.randint(0, 255)
if n == '-1':
n = random.randint(0, 255)
if x == '-1':
x = random.randint(0, 255)
y = random.randint(0, 255)
print(str(m) + '.' + str(n) + '.' + str(x) + '.' + str(y))
return str(m) + '.' + str(n) + '.' + str(x) + '.' + str(y)
def dec2hex(self,string_num):
base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)]
num = int(string_num)
mid = []
while True:
if num == 0: break
num, rem = divmod(num, 16)
mid.append(base[rem])
return ''.join([str(x) for x in mid[::-1]])
def ipv6(self):
ipInt = random.randint(0, 400000000000000000000000000000000000)
ipStr = ''
leftValue = ipInt
for i in [7, 6, 5, 4, 3, 2, 1, 0]:
string_num = leftValue / 65536 ** i
base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)]
num = int(string_num)
mid = []
while True:
if num == 0: break
num, rem = divmod(num, 16)
mid.append(base[rem])
ipTokenInt = ''.join([str(x) for x in mid[::-1]])
if (ipTokenInt == ''):
ipTokenInt = 0
ipStr = ipStr + str(ipTokenInt)
if i != 0:
ipStr = ipStr + ':'
leftValue %= 65536 ** i
print(ipStr)
return ipStr
def getstring(self,randomlength=16,base_str='ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'):
"""
生成一个指定长度的随机字符串
"""
random_str = ''
#base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
length = len(base_str) - 1
for i in range(randomlength):
random_str += base_str[random.randint(0, length)]
print(random_str)
return random_str
# if __name__ == '__main__':
# ipandstring = ipandstring()
# print(ipandstring.ipv6())