# Limited 1   > Author: catgut6675
  > Description: It's pretty easy to find random integers if you know the seed, but what if every second has a different seed?   [chal_time.py](https://github.com/nopedawn/CTF/blob/main/WolvCTF24/Limited1/chal_time.py)
```python {title="chal_time.py" lineNos=true lineNoStart=1}import timeimport randomimport sys
if __name__ == '__main__':    flag = input("Flag? > ").encode('utf-8')    correct = [189, 24, 103, 164, 36, 233, 227, 172, 244, 213, 61, 62, 84, 124, 242, 100, 22, 94, 108, 230, 24, 190, 23, 228, 24]    time_cycle = int(time.time()) % 256    if len(flag) != len(correct):        print('Nope :(')        sys.exit(1)    for i in range(len(flag)):        random.seed(i+time_cycle)        if correct[i] != flag[i] ^ random.getrandbits(8):            print('Nope :(')            sys.exit(1)    print(flag)```
The given Python script that uses the current time as a seed for the random number generator. The script then checks if the XOR of each character in the flag with a random 8-bit number equals the corresponding number in the `correct` list. If all checks pass, the flag is printed.
To do that, we need to reverse the process. Here's the solver:
```python {title="solver.py" lineNos=true lineNoStart=1}import random
correct = [189, 24, 103, 164, 36, 233, 227, 172, 244, 213, 61, 62, 84, 124, 242, 100, 22, 94, 108, 230, 24, 190, 23, 228, 24]
for time_cycle in range(256):    flag = ""    for i in range(len(correct)):        random.seed(i+time_cycle)        char = correct[i] ^ random.getrandbits(8)        flag += chr(char)     if all(' ' <= c <= '~' for c in flag):        print(f"time_cycle: {time_cycle}\nflag: {flag} ")```
```bash$ python3 solver.pytime_cycle: 188flag: wctf{f34R_0f_m1ss1ng_0ut}```
   > Flag: `wctf{f34R_0f_m1ss1ng_0ut}`