タグ

javaに関するnakamatuのブックマーク (64)

  • 究極の問題解析ツール、逆コンパイラJD-Eclipseとは

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは:ユカイ、ツーカイ、カイハツ環境!(13)(1/2 ページ) ソースコードがなくても大丈夫? 開発を行っている際に、利用しているミドルウェアやライブラリの内部で例外が発生して、そのクラスのソースコードを調べたくなることはありませんか? 例えば、以下のような場合です。 ほかのチームが開発したモジュールのメソッドが仕様通りの動作をしない仕様通りの動作をしない 処理に時間がかかっているが、何の処理に時間がかかっているのか分からない何の処理に時間がかかっているのか分からない アプリケーションが応答しなくなり、どこかで停止しているのだが、どこで停止しているか分からないどこで停止しているか分からない ソースコードがないため、“やきもき”していませんか? 開発者であれば、誰しもこのような経験をしたことがあると思います。ソースコードがあれば、コード

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは
  • コンパイル済みのJARファイル、CLASSファイルを JAVAソースに復元する(逆コンパイル) - インディーズゲームデベロッパー「OMEGA POINT」

    Javaのコンパイル済みのCLASSファイルは逆コンパイルすることによりソースコードの状態にもう一度復元することが可能です。 Jarファイルも解凍ツールで解凍を行った後、個々のCLASSファイルを逆コンパイルすればソースコードに復元することが可能です。 ・JARファイルの解凍 http://www7a.biglobe.ne.jp/~schezo/ LhaplusなどがJARファイルの解凍に対応しています。 ・JAVA逆コンパイルツール いくつかJAVAの逆コンパイルツールがネット上で公開されていますが、ここでは以下のツールをご紹介したいと思います。 http://www.kpdus.com/jad.html ・ソースコードへの復元 CLASSファイルのJAVAソースへの復元は簡単です。 上記のツールをダウンロードしたら適当なディレクトリにjad.exeファイルを置きます。 その後、コマンド

    コンパイル済みのJARファイル、CLASSファイルを JAVAソースに復元する(逆コンパイル) - インディーズゲームデベロッパー「OMEGA POINT」
  • Java オブジェクトのクローン - Java 入門

    Java オブジェクトのクローン Java でオブジェクトのコピーを作成したい場合には、どうしたら良いでしょうか。 もし、オブジェクトのコピーを作りたいと思って、次のように変数 s1 を s2 に代入しても、同じオブジェクトへの参照がコピーされるだけになります。 Shop s1 = new Shop("Ace Coffee"); Shop s2 = s1; 変数 s2 は、もともと変数 s1 で参照していたオブジェクトを参照するようになるだけで、 オブジェクトのコピーが作成されるわけではありません。 念のため補足しますと、int 型などのプリミティブのデータ型の場合であれば、変数を新しく宣言してそれに値を代入すれば、値がコピーできた、といえます。 次のような Shop クラスを定義して、試してみましょう。 class Shop { String name; public Shop(Stri

    Java オブジェクトのクローン - Java 入門
  • Java オブジェクトのclone 概要 - Java入門

    明らかに、clone()というメソッドはどこでも定義されていないし、Java IDEやコマンドラインから上のファイルをコンパイルしてみると、エラーにならないことを気づいたでしょうか。 super.clone()は何でしょう? Java言語は、デフォルトではすべてのクラスはjava.lang.Objectから継承しているとみなされます。なるほど、superはObjectのことで、clone()はObjectクラスのメソッドですね。 Java言語は、java.lang.Object#clone()を通して、オブジェクトのクローン機能をサポートします。 しかし、そのままclone()メソッドを利用しようとしてもクローンできません。 Java clone()でオブジェクトのクローン まず、以下の例から見てみます。 public class TestClone { public static v

  • https://funini.com/kei/java/clone.shtml

  • DbUtils – Download Apache Commons DbUtils

  • DBのユニットテスト② Java - 日々の記録

    前回の続きです。 userテーブルに対応するBeanとDaoを作ってみます。 User.java userテーブルと同じ構成のBeanです。 toString()とequals()はApache Commons Langを使うと楽に実装できます。 package sample; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.ToStringBuilder; public class User { private int id; private String name; public User() { } public User(int id, String name) { this.id = id; this.name = name; } public

    DBのユニットテスト② Java - 日々の記録
  • マンガで分かる Java入門講座 - マンガPG

    「マンガで分かるJava入門講座」は、Javaというプログラム言語を、じっくりと時間を掛けてマンガで解説していくという入門者向けの講座です。 架空の高校生たちに教える形式で、Javaの基礎から順に解説していきます。一通りのマンガを読めば、Javaのオブジェクト指向の概念について学べます。 以下、内容の数値データです。 マンガありの話数:95話 マンガなしのコラム:9話 合計Webページ数:104ページ マンガの総ページ数:832ページ ソースコードは、ダウンロード ページ から入手できます。 PDF版はこちらから入手できます。kindle版はこちらから入手できます。 このマンガは「箱人形マンガ(Box Comic) 」で作成しています。 公開開始:2013/04/20 第1部完結:2013/06/09 第2版完成:2015/08/18 最終更新:2018/03/01 作成:クロノス・クラウ

    マンガで分かる Java入門講座 - マンガPG
  • Java SE 8のラムダ式の基礎──なぜ必要なのか? 従来記法のリファクタリングを通して、その本質を理解する - builder by ZDNet Japan

    Java SE 8では、言語仕様に大きな変更が加わり、新たに「ラムダ式」が導入された。なぜこの機能が必要なのか、コードの書き方はどう変わるのか? 米国オラクルでJava SEのコア・ライブラリ開発チームをリードするスチュアート・マークス氏が解説する。 >> 後編の記事はこちら 2014年3月にリリースされたJava SEの最新版「Java SE 8」における最大の変更点は、言語仕様に大きな変更が加わり、関数型のプログラミング記法である「ラムダ式(Lambda Expressions)」が導入されたことだ。Java SE 8以降のJavaプログラミングでは、このラムダ式をうまく使いこなしていくことが求められる。 「そのためには、なぜこの機能が追加されたのか、どう使えば効果的なのかを知ることが近道となります」と語るのは、米国オラクルでJava SEの仕様策定をリードするスチュアート・マークス氏

  • java : 鍵の長さ256bitのAESを使う

    2017年11月追記) この投稿の内容は古い情報となっています。最新のjava9だとデフォルトのままでもAESの鍵の長さに制限はありません。 このページのサンプルコードもデフォルトのまま実行することができました。 また、java8の場合は古いバージョンはこの投稿の通りにjceが必要になります。 新しいバージョンのjava8の場合、jceに当たるファイルはインストール済みのようです。 設定ファイルの書き換えのみで鍵の長さの制限を撤廃できるのだそうです。 参考 …… もふぐらみんぐ『Java 8 update 151 以降のJCE無制限強度管轄ポリシーの適用方法』 もし鍵の長さに制限がかかっていたのなら、java.securityというファイルで『crypto.policy』という項目を検索してみてください。 『crypto.policy=limited』と書かれていたのなら limited

  • 暗号化・複合化を行う ブロック暗号 - [サンプルコード/Java] ぺんたん info

    Javaでブロック暗号を行うにはCipherクラスを使用します。 AESやDES、Blowfishなどが使用可能です。 AndroidではBlowfishが正しく使用できません。(2.2で確認) [参考記事] ブロック暗号とは [参考記事] PHPで暗号化・複合化を行う ブロック暗号 [参考記事] Perlで暗号化・複合化を行う ブロック暗号 [参考記事] Rubyで暗号化・複合化を行う ブロック暗号 サンプルコード 使用できる暗号アルゴリズムの一覧 使用できる暗号利用モードの一覧 指定できるパディング方式の一覧 鍵生成(KeyGenerator)で指定できる暗号化アルゴリズムの一覧 この暗号化方式はアルゴリズム規定のブロック長に分割して秘密鍵を用いて暗号化を行います。 規定のブロック長に分割する方式を暗号利用モード、ブロック長に満たないときの補完方法をパディング方式といいます。 暗号利用

  • 異なる言語間での暗号化と復号 - ぱせらんメモ

    仕事でデータを暗号化して保存する必要が出てきたので色々調べてみた。 メインのシステムはPHPで作っているんだけど、Javaなども絡んでくるので、お互いが処理できる暗号方式でなければいけない。 仕様さえ明確にしてあればオレオレアルゴリズムでもいいんだけど、今回はかなり重要なデータを扱うので世間でそれなりに使われている暗号方式を使うことにした。 暗号の種類 自分も暗号にそんな詳しいわけではないけど、「データをパスワードで暗号化するんでしょ?」ぐらいにしか思ってない人はきっと大変な思いをする。 今の話で登場するのは 暗号化したいデータ 暗号の種類(アルゴリズム) パスワード(暗号処理に使うキー) の3つだけど、これからやろうとしてるブロック暗号では 暗号化したいデータ 暗号の種類(アルゴリズム) 暗号処理に使うキー(パスワードというかバイト列) 暗号利用モード(ブロック処理の種類) 初期化ベクト

    異なる言語間での暗号化と復号 - ぱせらんメモ
  • Javaの標準AES暗号化アルゴリズム互換のRuby(Python)実装 - nori3tsu's blog

    随分前に悩んだことでまた悩んでしまったのでメモ。 Java/Python/Rubyのそれぞれの実装をまとめました。 Javaで"AES"と指定して暗号化/復号したデータをRubyで復元する際、 AESの知識が乏しいせいでRubyでどうやって復元すれば良いのかわからず困ってしまったため、 次回から悩まないためにJavaの標準AESアルゴリズムと互換性のあるRubyの実装書いてみました。 ついでに最近少し触っているPythonでも書いてみました。 AESはブロック暗号です。 ブロック暗号についてはコチラが詳しいです。 Javajavax.crypto.Cipherクラスで単純に"AES"として暗号化すると"AES/ECB/PKCS5Padding"という形式になります。 鍵長: 128bit 暗号モード: ECB パディング方式: PKCS5Padding 暗号モードのECBはある文字列を暗

    Javaの標準AES暗号化アルゴリズム互換のRuby(Python)実装 - nori3tsu's blog
  • Commons Codecとは|ITプロフェッショナル部(システム開発のアイロベックス|東京都新宿区の業務システム開発会社)

    最近、JavaでBase64エンコード/デコード処理を行いたいケースがあり、 いろいろと実現を方法を探っている際に、Commons Codecについて知りました。 なので、今回はCommons Codecについて書こうと思います。 Commons Codec(以下、Codec)とは、さまざまなエンコードおよびデコード処理を実装するための 共通のインタフェースを提供するものです。 但し、いくつかの実装が既に用意されているためそれらを使用することも可能です。 Codecには、エンコーダとデコーダを実装するためのインタフェースが3種類準備されています。 ・Encoder/Decoderインフェース 入出力共にObject型で実装するインタフェースです。 ・BinaryEncoder/BinaryDecoderインフェース 入出力共にbyte型の配列で実装するインタフェースです。 ・StringE

  • Input length must be multiple of 8 when decrypting with padded cipher

  • Codec – Home

    Codec Overview Download Users guide Javadoc Current Javadoc Archive Development Release Notes Mailing Lists Issue Tracking Source Repository Javadoc current Project Documentation Project Information About Summary Team Source Code Management Issue Management Mailing Lists Dependency Information Dependency Management Dependencies Dependency Convergence CI Management Distribution Management Project R

  • 暗号・復号化のお話 - Fragment

    まず、暗号化のアルゴリズムは結構種類があって、 JDK1.4対応分はここ を参照してもらうとして、今回使用したのは、DES-EDE(3DES)ってやつね。 3DESは、共通鍵方式で行われる。 共通鍵暗号方式: 鍵はひとつ ブロック暗号: データを固定長のブロック単位に区切り、それぞれのブロックを暗号化するもの。 DES: 鍵長は 56bit。今となっては使うべきではない。 3DES: 3回 DES を繰り返したもの。2つの鍵を使うものと、3つの鍵を使うものがある。 AES: DES の後継とも言える暗号。 ストリーム暗号: データを区切らず、ひとつのデータの流れとして処理するもの。 RC4: ソースは非公開だったが、メーリングリストに匿名でソースが投稿され世界中の人が知るところとなった。 公開鍵暗号方式: 鍵は 2つ。公開鍵と秘密鍵。 RSA : 最も広く使われている公開鍵暗号方式。安全性

    暗号・復号化のお話 - Fragment
  • 簡単な暗号化_3 - Java編

    ホーム[http://www.trustss.co.jp/] > Java目次[http://www.trustss.co.jp/Java/JIndex.html] > 総目次[http://www.trustss.co.jp/smnIndex.html] > Java総目次[http://www.trustss.co.jp/smnIndex.html] > パスワードなどから暗号鍵を生成する 前項の暗号化では、暗号化の鍵は必要な長さ(ビット長)を指定しなければなりませんでした。ここでは、自由な長さのパスワードから鍵を生成して暗号化・復号する方法を説明します。 この手法は、PKCS#5で既定された「パスワードベース暗号化」ではありません。 1.2.4パスワードベース暗号化方式を参照してください。 以下に"DES"による暗号化のコードを記します。その他の暗号化アルゴリズムは、1.2.1 暗号

  • Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに) - on the center line.

    僕がいま係っているシステムで、別システムのログインパスワードを文字列でデータベースに格納することになりました。これを実現するために、Javaで文字列の暗号化/復合化を行う方法を調べたので、その結果を記しておきます。(※既に別の方々が解説している内容をまとめただけですが。) まず、大きく以下の工程にわけて考えます。 文字列を暗号化する(バイト配列を得る) 暗号化されたバイト配列を文字列化する(暗号化文字列を得る) 暗号化された文字列をバイト配列化する(暗号化バイト配列を得る) バイト配列を復号化する(文字列を得る) 「1. 文字列を暗号化する(バイト配列を得る)」 Java Tips:手軽に暗号化・復号化するには? このページにばっちり解説してあるとおりです。 import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec

    Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに) - on the center line.
  • Java Tips:手軽に暗号化・復号化するには?

    J2SE 1.4からはJCEやJAASなどの各種セキュリティパッケージが標準で組み込まれ,暗号化や復号化などは簡単に行えるようになりました。ここでは秘密鍵を用いた手軽な暗号化を紹介します。 暗号化は気を遣う プログラムで暗号を使いたいとき,自前で実装するのは非常に気を遣います。なぜなら,バグがあったときにデータが復元できなくなるため,慎重に実装したうえで十分にテストしておく必要があるからです。 前述のとおり,J2SE 1.4ではセキュリティパッケージが多数組み込まれたため,これらのロジックを自前で記述する必要性は大幅に低下しました。そこで,ここで簡単な利用法を紹介します。 暗号化・復号化は一般にバイト列を暗号化してバイト列にする,というのが標準的な使い方です。しかし,ここでは動作を確認しやすくする目的で,「テキスト→暗号バイト列→テキスト」という流れにしましょう。 手軽に暗号化 暗号関係の

    Java Tips:手軽に暗号化・復号化するには?