jsonファイルの読み書き

Thumbnail of post image 168

今回はpythonでjsonファイルの読み書きをしようと思います。

はじめに

ツールを作成する際、設定ファイルを用意しておいてツールに読み込ませて動作させることってありますよね。

pythonで設定ファイルを扱う場合、jsonファイルにしておけば辞書型でそのまま扱えるので ...

python

Thumbnail of post image 005

今回は宮口・プレネルという一方向圧縮関数を利用したハッシュ値生成を勉強していこうと思います。

初めに

現在SHE(Secure Hardware Extension)という暗号処理機能の実装に取り組んでおります。

その中で出てきた耳なれない演算処理が宮 ...

python

Thumbnail of post image 015

今回はDSA(ECDSA)によるデジタル署名を取り上げます。

デジタル署名自体については、以前RSAにて取り上げているため良ければこちらも参考にしてください。

DSAとは

DSA(Digital Signature Algorithm)は、デジタル署名の標準規格であり、N ...

python

Thumbnail of post image 092

今回はAES-GCMに続いて、ChaCha20-Poly1305による認証付き暗号文生成を取り上げます。

概要

ChaCha20-Poly1305は、ChaCha20というストリーム暗号と、Poly1305という認証子生成方式を組み合わせて行う、認証付き暗号文生成方法です。

python

Thumbnail of post image 040

今回はpythonのPyCryptodomeを使用して、AES-GCMの認証付き暗号文生成を実施します。

初めに

AES-GCM(Galois/Counter Mode)は、AESの暗号利用モードのうちの一つです。

以前各種AESの暗号利用モード(ECB,CBC,CMAC ...

GUI

Thumbnail of post image 037

フォルダ内のファイルサイズ収集ツールをpythonで作ってみました。

収集した各種情報(階層、種別、パス、ファイル名、作成時刻)は、pandasを使用しエクセルに出力させます。

膨大なファイルの中から、特定のファイルを見つけて何らかの操作(コピー、リネーム、編集等)を行 ...

python

Thumbnail of post image 169

今回はハッシュ関数の中でも、TLS通信で主要な役割を持っているSHAについて勉強していきます。

また、pythonのpycryptodomeライブラリを使用して、ハッシュ処理を動かしてみます。

ハッシュ関数とは概要

ハッシュ関数とは、入力データに対応するランダムな値(ハッ ...

python

Thumbnail of post image 182

今回はRSAの各種パディング方法について調べてみました。

また、pythonのpycryptodomeライブラリを使用して、実際に各パディング処理を動かしてみます。

概要

RSAはAESと同様にブロック暗号方式です。

そのため、暗号演算時のブロック長は鍵長に依 ...

python

Thumbnail of post image 004

今回は前回のDH(Diffie-Hellman)に続き、RSAによるデジタル署名を取り上げます。

RSAとは

公開鍵暗号の一種で、TLS通信においては主に以下役割を担います。

役割概要その他データの秘匿公開鍵でデータを暗号化し、秘密鍵で復号化する。非推奨 (処理時間大)デジタル ...

python

Thumbnail of post image 116

今回はpythonのcryptographyというライブラリを使って、DHによる共通鍵の生成を行っていきます。

最近業務で認証処理を実装することになったのですが、ECDHとかECCとかよくわからない用語が頻出しました。

そのため、用語の整理と理解を兼ねた実装を行います。 ...

DoIP

Thumbnail of post image 037

ついに最終回としてDoIP通信プロトコルを実装していきます。

設計しているうちにいろいろ見直ししてきたので、以前検討した以下GUIから若干変わっています。

通信プロトコル対応内容

以下のDoIP通信を実現できるような実装をしていきます。

コマンド対応プロトコル実装共 ...

DoIP

Thumbnail of post image 183

今回はDoIPツールに合わせたGUIを、pythonのpysimpleguiで作成してみました。

対象はGUIなので、まだDoIPプロトコルの実装まではいきません。

ツール構成

DoIPクライアント、DoIPサーバそれぞれに割り当てるコマンドは以下の通り。

コマンド ...

DoIP

Thumbnail of post image 108

今回はDoIP通信プロトコルについて解説したいと思います。

TCP/UDPでDoIP通信を実施するために必要最低限の通信内容のみ取り上げているため、詳細については実際に規格(ISO13400)を確認してください。

前提条件

DoIPでは、診断機が直接DoIP通信を実施する ...

python

Thumbnail of post image 002

pythonのseleniumで、webページ上のボタンをクリックさせるような操作はよくすると思います。

以前別記事で、要素のclick処理が実行できないときの対処を紹介しましたが、今回はそれでも改善しなかったときの対応方法を紹介します。

発生事象

amazonの注文履歴 ...

python

Thumbnail of post image 129

最近久しぶりにamazonのスクレイピングコードを動かしてみたらログイン処理がうまく動かなかった。

amazonに限らず、最近どんどんwebサイトの認証が厳しくなってくるなと思いつつ、対策を考えてみた。

結論から言うと、自身のchromeアカウントにseleniumでロ ...

DoIP

Thumbnail of post image 017

今回はDoIPプロトコルの実装に入る前に、pythonでTCP通信を実施する方法について簡単に説明します。

UDPについては以下過去記事を参照。

TCPソケットメソッド

そのうちちゃんとやろうと思いますが、今回は必要最低限のメソッドだけ。

サーバ関連メソッドメソッド ...

DoIP

Thumbnail of post image 021

今回はpythonでDoIPプロトコルの実装と、実際にローカル上でTCP/IPを使用したDoIP通信を実施したいと思います。

DoIPは3年ほど前に業務で取り扱った車載イーサネット用の診断プロトコルになるのですが、この度wiresharkがDoIP通信に対応していたことを知ったので ...

python

Thumbnail of post image 191

今までpythonのプログラミングでは、vscode上で書いたコードをターミナルで実行しエラー解析という形で進めておりました。

そろそろほかのエディタも試してみようかと思ったのでJupyter Notebookの使い方を簡単に残しておきます。

インストール

今回はコマンド ...

Google Cloud Platform

Thumbnail of post image 036

前回のpythonコードのデプロイ内容を生かしつつ、今回は別サイトのwebスクレイピングとスクレイピング結果のスプレッドシート反映処理をGCPで行いました。

対象の映画サイト(映画.com)へのスクレイピングや、スプレッドシート処理については以下過去記事にて取り上げておりますが、今 ...

Google Cloud Platform

Thumbnail of post image 022

今回はGCP(Google Cloud Platform)を利用してpythonのwebスクレイピングコードを定期実行させたいと思います。

なお、スクレイピング結果はスプレッドシートに適時情報を反映させます。

本記事は以下過去記事からの続きとなっております。

概要 ...