ip,随机长度字符串关键字

This commit is contained in:
gaochengrui
2020-07-24 11:01:25 +08:00
parent 38ef54ed41
commit 96a941fcc0
2 changed files with 72 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
from ipandstring.stringip import stringandip
class ipandstring(stringandip):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'

View File

@@ -0,0 +1,68 @@
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):
"""
生成一个指定长度的随机字符串
"""
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())