質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1668閲覧

PythonでConfigparserを使って暗号化したINIファイルを読み込む

TTTT

総合スコア2

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/06/02 02:20

pythonでConfigparserを使って暗号化したINIファイルを読み込む場合、手順としては以下になりますでしょうか。

  1. configparserのインスタンス作成
  2. 暗号化したINIファイルの復号化
  3. INIファイルの読込

その他注意点などあれば、ご教示頂ければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

タイトル及び質問の内容が「別のライブラリ等で暗号化済みの"ConfigParser向けINIファイル"を、そのライブラリ等を使って復号し、復号された当該INIファイルをConfigParserを使って読み込む」という意味であるならば
特に記載の手順で問題ないと思います。1と2はどちらが先でも構わないと思います。

投稿2022/06/02 02:29

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TTTT

2022/06/02 06:08

ご回答いただき、ありがとうございます!はい、仰る通り別のライブラリで暗号化したINIファイルを読み込ませようとしています。 追加で、読込のコードファイル内で暗号化したファイルの復号化も実施しようとしておりまして、以下のコードを作成したのですが、復号化が上手くいきません。。 別ファイルで暗号化した際に生成したパスワードはベタ打ちで変数に格納しているのですが、INIファイルを読み込むところでエラーが発生してしまいます。 読み込みたいファイルは2つあるのですが、暗号化したのはfile2のみとなり、printは暗号化データ・復号化データの確認用コードで書いています。 config_file1 = 'config1.ini' config_file2 = 'config2.ini' key = 'OrH1H4g6UgftrfA09hDPDAbXr-ItphCMTPle4CENvLk=' with open(config_file2, "rb") as file: encrypt_data = file.read() print("暗号化データ:",encrypt_data) f = Fernet(key) decrypt_data = f.decrypt(encrypt_data) config_file2.write(decrypt_data.decode("utf-8")) print("復号化データ:",decrypt_data.decode('utf-8'))
退会済みユーザー

退会済みユーザー

2022/06/02 06:24

まず、「復号が上手くいかない」というのはもともとの質問と全く関係ないことですよね。 復号がうまくいかない、といわれても具体的な状況がまったくわからないのですが たとえば decrypt_data = f.decrypt(encrypt_data) のところでエラーが出るということでしょうか。 それともエラーは出ないけれども、 decrypt_data = f.decrypt(encrypt_data) の後で print(decrypt_data) として実行しても、でたらめな文字列が表示されてしまいうまく復号されていないように思われる、とかそういうことでしょうか。
TTTT

2022/06/02 09:57

失礼いたしました、復号化に関しては別の質問となります。 エラーが出る個所は、4行目の暗号化したファイルをopenで開くところになります。上で定義したconfig_file2が「存在しません」というエラーメッセージが表示されてしまいます。 そのため、printで中身を表示するところまでいっていない状況となります。
退会済みユーザー

退会済みユーザー

2022/06/02 11:15

実行しているpathとファイルのあるpathが違うのかもしれませんね。 config_file2 = 'config2.ini' のところを絶対パスにするくらいしか思い浮かびません。
TTTT

2022/06/03 00:50

ご回答いただき、ありがとうございます。 再度pathやコード全体を見直してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問