「使用可能な暗号アルゴリズムを調べる」の版間の差分

提供: Java入門
移動: 案内検索
(ページの作成:「Javaでは、java.security.Securityのセキュリティクラス(Securityクラス)を利用して、暗号を使用できます。 '''読み方''' ;暗号:あ...」)
 
行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>
 
== 使用可能な暗号アルゴリズムを調べる方法 ==
 
== 使用可能な暗号アルゴリズムを調べる方法 ==

2015年9月19日 (土) 16: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

関連項目