使用可能な暗号アルゴリズムを調べる

提供: Java入門
2015年9月19日 (土) 22:14時点におけるDaemon (トーク | 投稿記録)による版 (ソースコード Algorithm.java)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

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

関連項目




スポンサーリンク