0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

exe化

Last updated at Posted at 2024-12-13

記事全体の目次へ移動

まとめてBGMを暗号化

ここをクリックしてください

実行するとtxtファイルに暗号キーが保存されます。
暗号キーは複合化する際に必要です。

.mp3を暗号化します。

.mp3をpyファイルと同じ場所において実行してください。

import os
from cryptography.fernet import Fernet

# 暗号化キーの生成(既存のキーを使用する場合はこの部分を省略)
key = Fernet.generate_key()
cipher_suite = Fernet(key)
print(f"Generated Key: {key.decode()}")

# 暗号化キーを保存(必要に応じて)
with open('暗号キー.txt', 'wb') as key_file:
    key_file.write(key)

# スクリプトが存在するフォルダのパスを取得
folder_path = os.path.dirname(os.path.abspath(__file__))
output_folder = os.path.join(folder_path, "BGM")

# 保存先フォルダが存在しない場合は作成
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# フォルダ内のすべての画像ファイルを暗号化
for filename in os.listdir(folder_path):
    if filename.endswith(('.mp3')):
        with open(os.path.join(folder_path, filename), 'rb') as file:
            file_data = file.read()
            encrypted_data = cipher_suite.encrypt(file_data)
            with open(os.path.join(output_folder, filename + '.enc'), 'wb') as encrypted_file:
                encrypted_file.write(encrypted_data)

print("すべて暗号化されました。")


BGMを複合化

ここをクリックしてください

input_folder = パス
暗号化した際に作られたフォルダのパスを貼り付けます。

key = b"暗号キー"
暗号化した際に作られた暗号キーを貼り付けます。

OSError: [WinError 123] ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。
このエラーが出たら、パスの前にrをつけます。r"" 


import pygame
import sys 
from pygame.locals import *
import os
from cryptography.fernet import Fernet
import io

pygame.init()
screen = pygame.display.set_mode((160,160))
pygame.display.set_caption("decrypted")

decrypted_list = []
sound_num = 0
sound_on = 0
# ここにフォルダのパスを貼り付ける。
input_folder = パス

# 暗号化キーを使用して復号化
# フォルダ内のすべての画像ファイルを暗号化
for filename in os.listdir(input_folder):
    if filename.endswith(('.enc')):
        with open(os.path.join(input_folder, filename), 'rb') as file:
            encrypted_data = file.read()
            key = b"暗号キー"
            cipher_suite = Fernet(key)
            decrypted_data = cipher_suite.decrypt(encrypted_data)
            decrypted_list.append(decrypted_data)
sounds = [pygame.mixer.Sound(io.BytesIO(decrypted_data)) for decrypted_data in decrypted_list]
while True:
    if sound_on == 0:
        for sound in sounds:
            sound.stop() # すべての音楽を停止
        sounds[sound_num].play(-1) # 新しい音楽を再生
        sound_on = 1
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == KEYDOWN:
            if event.key == K_z:
                sound_num = (sound_num + 1) % len(sounds)
                sound_on = 0
            elif event.key == K_x:
                sound_num = (sound_num - 1) % len(sounds)
                sound_on = 0


exe化する

ここをクリックしてください

1. PyInstallerをインストールする。

pip install pyinstaller

2. pyファイルがあるフォルダに移動する。

cd パス
cd/d パス

3. pyファイルをexe化する。

pyinstaller ファイル名

4. データの入ったフォルダをexeファイルと同じフォルダに置く。

参考サイト

PyinstallerでPythonプログラムをexe化する手順書(Windows編)

Pythonファイルをexe化する方法|Pyinstallerの実例付き

Pythonをexe化する方法(Pyinstaller・Nuitka)

【PyInstallerの使い方】Pythonでの実行ファイル作成(exe化)方法を徹底解説!

[Python] PyInstallerで複数ファイルを一つのexeにする方法

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?