import time

def charCodeAt(string, index):
    if index >= len(string):
        raise IndexError("Index out of range")
    return ord(string[index])

def do_encrypt_rc4(src, passwd):
    plen = len(passwd)
    print(plen)
    size = len(str(src))
    j = 0
    a = 0
    b = 0
    c = 0
    print(size)
    key = [None for i in range(256) ]
    sbox =[None for i in range(256) ]
    output =[None for i in range(size) ]
    for i in range(0,256,1):
      # key[i] = passwd.charCodeAt(i %plen)
       key[i] = charCodeAt(passwd,i %plen)
       sbox[i] = i
    print(sbox)
    for i in range(0,256,1):
        j = (j + sbox[i] + key[i]) % 256
        temp = sbox[i]
        sbox[i] = sbox[j]
        sbox[j] = temp
    for i in range(0,size,1):
        a = (a + 1) % 256;
        b = (b + sbox[a]) % 256;
        temp = sbox[a]
        sbox[a] = sbox[b]
        sbox[b] = temp
        c = (sbox[a] + sbox[b]) % 256
        temp =charCodeAt(str(src),i) ^ sbox[c]
        print("48 ^133=",48 ^133)
        print("c",c)
        print("charCodeAt(str(src),i)",charCodeAt(str(src),i))
        print("sbox[c]",sbox[c])
        temp = str(temp)
        if len(temp) == 1 :
            temp = '0' + temp
        elif len(temp) == 0 :
            temp = '00'
        output[i] = temp
    print("Output:",output)

    return output
def generate_13_digit_timestamp():
    # 获取当前时间的秒数和微秒数
    current_time = time.time()
    seconds = int(current_time)  # 秒数部分
    milliseconds = int((current_time - seconds) * 1000)  # 毫秒数部分,取0到999的整数部分
    # 组合成13位时间戳(前10位是秒,后3位是毫秒)
    return int(f"{seconds}{milliseconds:03d}")


##keys = generate_13_digit_timestamp()
##ssss = do_encrypt_rc4(keys,'yyt8822461')
print(charCodeAt("hello",0)^100)