Temporary File Manipulation and Hashing Process

  • Share this:

Code introduction


The function first creates a temporary file and writes the first argument to it. Then, it uses regular expressions to find numbers in the second argument and performs a SHA-256 hash on the first found number, appending the result to the file. If no numbers are found, it appends 'No numbers found.' to the file. Then, it simulates a delay of 2 seconds. It encodes the file content using base64 and appends the encoded content to the file. Finally, it deletes the created temporary file.


Technology Stack : File operations, regular expressions, hashing, base64 encoding, time delay

Code Type : File manipulation and string processing

Code Difficulty : Intermediate


                
                    
import random
import json
import re
import os
import sys
import time
import hashlib
import base64
import shutil

def generate_random_string(length=10):
    letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    return ''.join(random.choice(letters) for i in range(length))

def xxx(arg1, arg2):
    # 创建一个临时文件
    temp_file_path = os.path.join(sys.path[0], 'temp_file.txt')
    with open(temp_file_path, 'w') as file:
        file.write(arg1)

    # 使用正则表达式查找文件中的数字
    numbers = re.findall(r'\d+', arg2)
    if numbers:
        # 对数字进行哈希处理
        hash_object = hashlib.sha256(numbers[0].encode())
        hex_dig = hash_object.hexdigest()
        with open(temp_file_path, 'a') as file:
            file.write('Hash: ' + hex_dig)
    else:
        with open(temp_file_path, 'a') as file:
            file.write('No numbers found.')

    # 模拟延时
    time.sleep(2)

    # 使用base64对文件内容进行编码
    with open(temp_file_path, 'rb') as file:
        encoded = base64.b64encode(file.read())
        with open(temp_file_path, 'a') as file:
            file.write('\nBase64: ' + encoded.decode())

    # 删除临时文件
    shutil.rmtree(os.path.dirname(temp_file_path))