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

提供: Java入門
移動: 案内検索
(ソースコード Algorithm.java)
 
行69: 行69:
 
  */
 
  */
 
import java.util.Set;
 
import java.util.Set;
import java.security.Security;;
+
import java.security.Security;
 
public class Algorithm
 
public class Algorithm
 
{
 
{
行80: 行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

関連項目