From 994b7c9e0ffc88f1b4ac1f34d404829321036286 Mon Sep 17 00:00:00 2001 From: Leonardone Date: Fri, 20 Mar 2020 00:48:11 +0900 Subject: [PATCH] =?UTF-8?q?Random=E3=81=AEnextInt()=E3=82=92=E3=82=AA?= =?UTF-8?q?=E3=83=BC=E3=83=90=E3=83=BC=E3=83=A9=E3=82=A4=E3=83=89=E3=81=97?= =?UTF-8?q?=E3=81=9F=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 実機のRandom.nextInt()を信用できないので… MIDP2.0のリファレンス通りの実装である public int nextInt() { return next(32); } をしていなさそう… next(int)が呼ばれていない気がする… オブジェクト指向における継承を想定された設計が無視されているのでは…? --- IDPWMemo_OAP/src/Cryptor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/IDPWMemo_OAP/src/Cryptor.java b/IDPWMemo_OAP/src/Cryptor.java index 577fb74..c494d62 100644 --- a/IDPWMemo_OAP/src/Cryptor.java +++ b/IDPWMemo_OAP/src/Cryptor.java @@ -20,7 +20,12 @@ public static byte[] getBytes(String s) throws UnsupportedEncodingException static final Cryptor instance = new Cryptor(); - private final MTRandom rand = new MTRandom(); + private final MTRandom rand = new MTRandom() { + public int nextInt() + { + return next(32); // In OpenAppli-JavaMachine-java.util.Random, nextInt() method does not use next(int) method... + } + }; private final Checksum cs = new CRC32(); private Cryptor() {}