「使用可能な暗号アルゴリズムを調べる」の版間の差分
提供: 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
関連項目
- 使用可能な暗号アルゴリズムを調べる
- 共通鍵暗号方式のAESによる暗号化と復号化
- JavaでSHA256を計算する
- JavaでHMAC-SHA256を計算する
- 暗号