#!/usr/bin/env python3
import json
import string
import random
import base64
import glob, os


def gen_rand_str():
    rand_str = ''.join(random.choices(string.ascii_uppercase + string.ascii_lowercase, k=8))
    return rand_str + str(random.randint(0, 1000000))

def decrypt(path):
    # print("processing content: %s..." % path)
    with open(path, "r", encoding="utf-8") as f:
        # readlines以列表的形式将文件读出
        lines = f.readlines()

    with open(path, "w", encoding="utf-8") as f_w:
        for line in lines:
            if "<string" in line and "</string>" in line:
                line = line.replace("</string>", "")

                str_name = line.split(">")[0] + ">"
                str = line.split(">")[1]
                randStr = gen_rand_str + "*-*"

                line = str_name + randStr + base64.b64encode(randStr + str) + "</string>"
            f_w.write(line)
        # print("done\n")
    return


for root, dirs, files in os.walk("../../src/main/res"):
    directory = os.path.join(os.getcwd(), root)
    for file in files:
        if file.endswith("strings.xml"):
            # get the path of the java file
            path = os.path.join(directory, file)
            decrypt(path, file)
