import random


def generate_random_key(seed_rule, start, end=None):
	"""
	依照指定的亂數長度範圍參數，產生隨機網址碼
	Args:
		seed_rule(str):亂數的種子規則 e.g abcABC1234+
		start(int): 起始的長度
		end(int): 最長的長度 (如果沒有提供則為 start 的固定長度)
	Returns:
		url_key(str): 隨機網址碼 (長度 15 - 20)
	"""
	if end:
		url_length = random.randint(start, end)
	else:
		url_length = start
	# 產生使用者的隨機碼
	url_key = ''.join(random.sample(seed_rule, url_length))
	# 是唯一的，沒有衝突
	return url_key