JavaScript で RSA 暗合複合

OpenSSL で作成した RSA 暗合鍵、どのJSコードが良いのか探した。 JSEncrypt というのが一番使い易い。 電子署名で、SHA256 にするので、CryptoJS から、 sha256.js だけ使う。 <script src="jsencrypt.min.js" type="text/javascript"></script> <script src="sha256.js" type="text/javascript"></script> 公開鍵で暗合化 var crypt = new JSEncrypt(); // 公開鍵 publickey は、Ba…

Pattern Matcher の find()実行と group()実行、1つの処理文にする。

java.util.regex.Pattern java.util.regex.Matcher マッチした部分の抽出は、今まで良い考えが浮かばず、以下のように、 Matcher 変数宣言を強いられてきた。 String str = "HTTP This request is Unauthorized (401)"; Matcher m = Pattern.compile("\\([0-…

PostgreSQL の再帰SQL

SQL

MySQL は、8.x なら再帰SQL( WITH RECURSIVE target AS ...)が使えるらしいが、 今回はPostgreSQL の再帰SQL 再帰SQLクエリを実行するテーブル構造 テーブル名:divison id プライマリーキー parent_id 親を指すID name 名称 このテーブル、指定のID(id=1)…

Putty で作成したRSA鍵で暗合複合の実行(Python)

本来なら Python だけで PuTTYgen で作成したRSA鍵ファイル (*.ppk) を読み込んで Python crypto が使用できるRSA公開鍵、RSA秘密鍵を取り出したかったのですが、 秘密鍵を抽出するもの puttykeys · PyPI しか見つからず、 公開鍵を抽出するものが欲しかった…

Putty で作成したRSA鍵で暗合複合の実行(Java)

putty key generator (PuTTYgen) で SSH-2 RSA 鍵を作成、PuTTYgen 画面の [ Save private key ] ボタンで 作成する ppk ファイルを使用します。 SSH 通信やFSCP の為に、PuTTYgen で鍵を作って利用するのがほとんどで、業務開発などのプログラム開発の デー…

他言語と相互間の暗合複合を考慮の AES 暗合複合 Java のコード

Java と Pyrhon 間の AES 256 暗合複合ができるようにするものです。 他言語と相互間の暗合複合を考慮の AES 暗合複合 Python のコード - Oboe吹きプログラマの黙示録 の続きです。Java 側のコード import java.security.MessageDigest; import java.securit…

他言語と相互間の暗合複合を考慮の AES 暗合複合 Python のコード

先日書いた、 Java と Python 相互で AES 256 暗号/複合を実行する - Oboe吹きプログラマの黙示録 やはり、Python のコードを改める。 複合メソッド、Base64 受け取りとHex文字列受け取りが分かれるより引数で指定することにする。 名称も、どうせ 256 b…

Base64 かどうか判定する

Apache commons の codec https://commons.apache.org/proper/commons-codec/ に存在する Base64 かどうかを判定する処理、 他の処理は commons の codec にあるものを使わなくてもいいから、 とにかく Base64 かどうかを判定する処理だけが欲しかった。 よ…

Java と Python 相互で AES 256 暗号/複合を実行する

試したのは、CBCモードとECBモードです。 Python暗号→Java複合は問題ないのですが、Base64 エンコードで相互受け渡すとして Java暗号→Python複合では、暗号化した文字列長さが4の倍数になっても、 暗号文を Base64 b64decode 実行した時に、 binascii.Error…

Java 16進数文字列から、byte[]

Java 16進数文字列から、2文字ずつ切り取って byte[] を作る。 必ず2文字ずつ切り出せる文字列であるとする。=すなわち長さが2で割り切れる。 String hexstring= "56d19eaf"; クラシックな方法 Matcher m = Pattern.compile("[\\w]{1,2}").matcher(hexst…

Wicket 8.3.0 がリリースされた

Wicket 8.3.0 がリリースされてる。 https://wicket.apache.org/ 目新しいのは、今までなかった StatelessResourceLink と Component タグの変更~記述したHTMLよりも表示時に変更されるもののリスナーのふるまい。 [WICKET-6626] が追加されてる。Component…

Markdownファイルを Python で PDF にする

Python スクリプト実行するディレクトリ配下の md ファイルをPDFにします。 途中 HTML にしてHTMLからPDFにします。 (条件) HTML化した時のスタイルを任意のスタイルを 1つの スタイルシートファイルで指定するものとします。 以下、 スタイルシート…

1つしかないファイル探索方法 by Python

カレントディレクトリから再帰で、1つしかないと想定されるファイル名の探索を Python で。。 # -*- coding: utf-8 -*- import os import re # ディレクトリ全探索 def find_all(directory): for root, dirs, files in os.walk(directory): yield root for …

wkhtmltopdf で任意に改ページを挿入する

wkhtmltopdf でPDFに変換する https://wkhtmltopdf.org/ <div style="page-break-after:always;"></div> あるいは、罫線で <hr style="page-break-after:always;"/> 改ページしたい箇所に書き込んでおく。md(Markdownファイル)から PDF を作成するのに、pandoc や Prince とか使わずに、 一旦、HTMLに変換してPDFを作るつもりで、wkhtmlt</hr>…

Wicket でpopup Window の外部リンクページ表示

結局JavaScript なのだが、a タグ onclick に Wicket で window.open 実行を埋め込んでくれる。 <a wicket:id="link" href="#">other</a> PopupSettings をリンクのコンポーネント(ExternalLink)に設定する。 PopupSettings settings = new PopupSettings(); settings.setWindowName("_blank…

Python における JSON の読込み、シングルクォート

Python で、import json を使った、json.loads の JSON読込みは、 キーが、シングルクォートで括られていてはダメだ。ダブルクォートでないとならない。 これは、非常に不便だ。 Java の Google GSON は、シングルクォートだろうが解釈してくれる。以下は、…

ATOM markdownプレビューの見出しメニューリンクの作成

ATOM プラグイン markdown-preview-enhanced を利用すると h1, h2, h3 タグ記述の見出しリンクを作成、HTMLに変換しても見出しリンク表示のアイコンが作れる。 atom.ioHTML に変換すると以下のように左下端にアイコンが表示される。 ただし、HTML変換した時…

クラスと同じ場所に置くファイル読込み(for java11)

ただのメモです。 テンプレートなど Java クラスと同じ場所に配置したファイルを読込む想定です。java.io.Reader 取得 public Reader getFileRreader(Class cls, String filename) throws IOException, URISyntaxException{ return new FileReader( new File…

JSON書式判定

書式として与える JSON または任意の JSON に対してその要素のキーを必須で持つかどうかを判定する処理を 普遍的に欲しくなりました。フォーマッタ―とまでは望まないけど、それに近い処理も、できれば充分です。 だって JSONを Object から JSON作成は、Goog…

GSON で作成するJSONの整形

Google gson でオブジェクトから JSONテキストを生成したとき、 人間の目で見やすいように、整形するには、 GsonBuilder の setPrettyPrinting() を実行してから、Gsonを作成する。 Gson gson = new GsonBuilder().setPrettyPrinting() .create(); String st…

固定サイズでの画像の切取り

Cropper JS使用の画像 crop で、常に固定サイズ =常に一定の width と height で切り取りするようにする。切り取り BOX をリサイズ不可にするのは、 https://github.com/fengyuanchen/cropperjs#options にあるとおり、cropBoxResizable オプションを false…

画像切取り、crop のプレビュー

Webページ上で画像切取り crop を行う時のプレビューhttps://github.com/fengyuanchen/cropperjs を元に jQuery 用の Cropper https://github.com/fengyuanchen/jquery-cropper これを使用した時の プレビューについて、 crop 実行のオプションで任意の場所…

Bootstrap モーダルをドラッグ移動可能にする

Bootstrap モーダルをドラッグ移動可能にするには、やはり、jQuery UI を使うのが簡単 <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> id=getCroppedCanvasModal が、BootStrap のモーダルエリアなら、、 $("#getCroppedCanvasModal").draggable({ cursor: "move" }); 昨日、悩んだのは、jQuery UI を使わ…

jquery-cropper を使ってみる。

画像のcrop(切取)を、GitHub - fengyuanchen/jquery-cropper: A jQuery plugin wrapper for Cropper.js. を使って必要最低限の機能を試してみる。 HTMLページは以下のような画面レイアウト BootStrap を使う。アイコンには fontawesome を使う。 H…

画像トリミング jQuery など

あまり画像処理のことは詳しくない。押し迫って着手することも少なかったせいか、 疎い方だ。 いいかげん気になってたので、少し触っていこうか。。。 github.com昔、Windows PC に、GIMP を入れて使ったりしてたことあったけど、 https://github.com/oliver…

Java → Python プロセス起動の可能性

去年書いた yipuran-core/ScriptExecutor.java at master · yipuran/yipuran-core · GitHub このメソッド public static int runStream(Supplier<String>, Supplier<Collection<String>> , Consumer<InputStream>, BiConsumer<String, Throwable>) public static int runStream(Supplier<String>, Consumer<InputStream>, BiConsumer</inputstream></string></string,></inputstream></collection<string></string>

PythonでPDF作成→Javaで受け取り→Wicket AJAXダウンロード

WebアプリをJava で構築していて、Javaでダウンロードすファイルを作るなら一時ファイル (ディスクに一旦書き出すこと) を作らずにダウンロードするものを作るのは容易ですが、言語、実行環境が異なる処理に作らせて 一時ファイルを生成することなくダウン…

JEP325 いいなぁ。。。

ふと目にした。綺麗でいいなぁと。。JEP 325: Switch Expressions (Preview)Java11 に入らなかったんだ。。。来年の Java12 に入るのかな?

reportlab で PDF作成する時のページ番号 Page x of total の出力

Python reportlab でPDF作成で、 ”ページ番号 of 総ページ数" を出力する場合、 reportlab の platypus 機能を 使わないで実現するのは、総ページ数算出の為に、Canvas の showPage() 実行をカウント または、その予測計算をしなくてはならず、そういう処理…

jsTree→JSON抽出→Java GSONで解析→PythonでPDF作成→Wicket でPDFダウンロード

Webページに表現したツリー図を、以前、HTML2CANVAS で変換して jsPDF でPDF作成をしたのですが、 oboe2uran.hatenablog.com 大きいツリー図になると1ページで入らない場合破綻します。 html2canvas のキャプチャ実行を複数ページに 分割するように何回…