「使用可能な暗号アルゴリズムを調べる」の版間の差分
提供: Java入門
(→ソースコード Algorithm.java) |
|||
(同じ利用者による、間の1版が非表示) | |||
行10: | 行10: | ||
import java.security.Security;; | import java.security.Security;; | ||
Set<String> names = Security.getAlgorithms("Cipher"); | Set<String> names = Security.getAlgorithms("Cipher"); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 実行例 === | ||
+ | 以下の暗号アルゴリズムが利用可能です。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ java Algorithm | sort | ||
+ | AES | ||
+ | AESWRAP | ||
+ | AESWRAP_128 | ||
+ | AESWRAP_192 | ||
+ | AESWRAP_256 | ||
+ | AES_128/CBC/NOPADDING | ||
+ | AES_128/CFB/NOPADDING | ||
+ | AES_128/ECB/NOPADDING | ||
+ | AES_128/GCM/NOPADDING | ||
+ | AES_128/OFB/NOPADDING | ||
+ | AES_192/CBC/NOPADDING | ||
+ | AES_192/CFB/NOPADDING | ||
+ | AES_192/ECB/NOPADDING | ||
+ | AES_192/GCM/NOPADDING | ||
+ | AES_192/OFB/NOPADDING | ||
+ | AES_256/CBC/NOPADDING | ||
+ | AES_256/CFB/NOPADDING | ||
+ | AES_256/ECB/NOPADDING | ||
+ | AES_256/GCM/NOPADDING | ||
+ | AES_256/OFB/NOPADDING | ||
+ | ARCFOUR | ||
+ | BLOWFISH | ||
+ | DES | ||
+ | DESEDE | ||
+ | DESEDEWRAP | ||
+ | PBEWITHHMACSHA1ANDAES_128 | ||
+ | PBEWITHHMACSHA1ANDAES_256 | ||
+ | PBEWITHHMACSHA224ANDAES_128 | ||
+ | PBEWITHHMACSHA224ANDAES_256 | ||
+ | PBEWITHHMACSHA256ANDAES_128 | ||
+ | PBEWITHHMACSHA256ANDAES_256 | ||
+ | PBEWITHHMACSHA384ANDAES_128 | ||
+ | PBEWITHHMACSHA384ANDAES_256 | ||
+ | PBEWITHHMACSHA512ANDAES_128 | ||
+ | PBEWITHHMACSHA512ANDAES_256 | ||
+ | PBEWITHMD5ANDDES | ||
+ | PBEWITHMD5ANDTRIPLEDES | ||
+ | PBEWITHSHA1ANDDESEDE | ||
+ | PBEWITHSHA1ANDRC2_128 | ||
+ | PBEWITHSHA1ANDRC2_40 | ||
+ | PBEWITHSHA1ANDRC4_128 | ||
+ | PBEWITHSHA1ANDRC4_40 | ||
+ | RC2 | ||
+ | RSA | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 使用可能な暗号アルゴリズムを調べる方法 == | == 使用可能な暗号アルゴリズムを調べる方法 == | ||
行19: | 行69: | ||
*/ | */ | ||
import java.util.Set; | import java.util.Set; | ||
− | import java.security.Security | + | import java.security.Security; |
public class Algorithm | public class Algorithm | ||
{ | { | ||
行30: | 行80: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
=== コンパイル === | === コンパイル === | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> |
2015年9月19日 (土) 22:14時点における最新版
Javaでは、java.security.Securityのセキュリティクラス(Securityクラス)を利用して、暗号を使用できます。
読み方
- 暗号
- あんごう
概要
Javaで使用できる暗号アルゴリズムを調べるには、以下のコードだけで簡単に調べられます。
import java.util.Set; import java.security.Security;; Set<String> names = Security.getAlgorithms("Cipher");
実行例
以下の暗号アルゴリズムが利用可能です。
$ java Algorithm | sort AES AESWRAP AESWRAP_128 AESWRAP_192 AESWRAP_256 AES_128/CBC/NOPADDING AES_128/CFB/NOPADDING AES_128/ECB/NOPADDING AES_128/GCM/NOPADDING AES_128/OFB/NOPADDING AES_192/CBC/NOPADDING AES_192/CFB/NOPADDING AES_192/ECB/NOPADDING AES_192/GCM/NOPADDING AES_192/OFB/NOPADDING AES_256/CBC/NOPADDING AES_256/CFB/NOPADDING AES_256/ECB/NOPADDING AES_256/GCM/NOPADDING AES_256/OFB/NOPADDING ARCFOUR BLOWFISH DES DESEDE DESEDEWRAP PBEWITHHMACSHA1ANDAES_128 PBEWITHHMACSHA1ANDAES_256 PBEWITHHMACSHA224ANDAES_128 PBEWITHHMACSHA224ANDAES_256 PBEWITHHMACSHA256ANDAES_128 PBEWITHHMACSHA256ANDAES_256 PBEWITHHMACSHA384ANDAES_128 PBEWITHHMACSHA384ANDAES_256 PBEWITHHMACSHA512ANDAES_128 PBEWITHHMACSHA512ANDAES_256 PBEWITHMD5ANDDES PBEWITHMD5ANDTRIPLEDES PBEWITHSHA1ANDDESEDE PBEWITHSHA1ANDRC2_128 PBEWITHSHA1ANDRC2_40 PBEWITHSHA1ANDRC4_128 PBEWITHSHA1ANDRC4_40 RC2 RSA
使用可能な暗号アルゴリズムを調べる方法
ソースコード Algorithm.java
/* * Algorithm.java * Copyright (C) 2015 kaoru <kaoru@localhost> */ import java.util.Set; import java.security.Security; public class Algorithm { public static void main(String[] args) { Set<String> names = Security.getAlgorithms("Cipher"); for (String name: names) { System.out.println(name); } } }
コンパイル
javac Algorithm.java
実行例
以下が実行結果です。以下の暗号アルゴリズムが利用できることがわかりました。
$ java Algorithm PBEWITHHMACSHA384ANDAES_128 AES_256/GCM/NOPADDING AES_192/GCM/NOPADDING PBEWITHHMACSHA512ANDAES_128 AES_256/CBC/NOPADDING AES_256/ECB/NOPADDING PBEWITHHMACSHA224ANDAES_256 AES_128/CBC/NOPADDING AESWRAP_192 AESWRAP PBEWITHMD5ANDDES AES_192/CBC/NOPADDING PBEWITHHMACSHA256ANDAES_256 PBEWITHHMACSHA1ANDAES_128 PBEWITHSHA1ANDRC4_128 AES_192/OFB/NOPADDING AES_128/ECB/NOPADDING DESEDEWRAP AESWRAP_256 RC2 PBEWITHSHA1ANDRC4_40 RSA AESWRAP_128 PBEWITHHMACSHA512ANDAES_256 AES_192/CFB/NOPADDING DESEDE AES_128/CFB/NOPADDING AES_192/ECB/NOPADDING BLOWFISH ARCFOUR AES_256/CFB/NOPADDING AES AES_128/OFB/NOPADDING AES_128/GCM/NOPADDING DES PBEWITHHMACSHA256ANDAES_128 PBEWITHSHA1ANDDESEDE PBEWITHSHA1ANDRC2_40 PBEWITHHMACSHA384ANDAES_256 AES_256/OFB/NOPADDING PBEWITHSHA1ANDRC2_128 PBEWITHMD5ANDTRIPLEDES PBEWITHHMACSHA1ANDAES_256 PBEWITHHMACSHA224ANDAES_128
関連項目
- 使用可能な暗号アルゴリズムを調べる
- 共通鍵暗号方式のAESによる暗号化と復号化
- JavaでSHA256を計算する
- JavaでHMAC-SHA256を計算する
- 暗号