「javakey类型」java编写一个类monkey
本篇文章给大家谈谈javakey类型,以及java编写一个类monkey对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中怎么判断map的key类型
- 2、java hashmap key类型
- 3、java中map是什么意思?
- 4、java 中map 的key可以是整型吗?
- 5、怎样将一个String转化为Key类型(java.security.Key)。
- 6、java类,用key
java中怎么判断map的key类型
public class Test {
\x09/**
\x09* @param args
\x09*/
\x09public static void main(String[] args) {
\x09\x09// TODO Auto-generated method stub
\x09\x09HashMap map = new HashMap();
\x09\x09map.put("key1","value1");
\x09\x09map.put("key2","value2");
\x09\x09map.put("key3","value3");
\x09\x09Iterator keys = map.keySet().iterator();
\x09\x09while(keys.hasNext()){
\x09\x09\x09String key = (String)keys.next();
\x09\x09\x09if("key2".equals(key)){
\x09\x09\x09\x09System.out.println("这里面有key2");
\x09\x09\x09}
\x09\x09}
\x09}
}
java hashmap key类型
JAVA中
如果用到Map集合
一般用的最多的就是HashMap.
Map集合在取值时用的key的类型必须和存放的时候用的key的类型一直.
比如,如果使用Integer类型的
1
作为key
,使用String
类型的
1
是取不到的.
所以一般建议在申明HashMap的时候就加入类型
HashMap
map = new HashMap
();如果能确定Value的值,也可以申明清楚Value的值.
java中map是什么意思?
java中mapkey,value是泛型的典型样式。
key和value代表键和值,你可以想象成两个值一一对应,可以根据key查找到value的值。你可以把省作为key,省会作为value,根据省可以查到省会。或者把整数作为key,任何对象作为value,就和数组一样根据整数能找到对应的对象。
MapString,int 就表示这个 map 的key 是String 类型 value 是 int 类,就是 强制设计期就限定map 里面元素的类型.
JDK 5.0 中增加的泛型类型,是 Java 语言中类型安全的一次重要改进。
泛型编程(Generic Programming)最初提出时的动机很简单直接:发明一种语言机制,能够帮助实现一个通用的标准容器库。所谓通用的标准容器库,就是要能够做到,比如用一个List类存放所有可能类型的对象,这样的事情;
更多内容请参考《java泛型详解_百度百科》
java 中map 的key可以是整型吗?
可以的,看下面的程序:
运行结果:
取出来的时候,在转换
怎样将一个String转化为Key类型(java.security.Key)。
用byte数组转
java 免费源码视频:
package com.shop.utils;
002
003
import java.security.KeyFactory;
004
import java.security.KeyPair;
005
import java.security.KeyPairGenerator;
006
import java.security.NoSuchAlgorithmException;
007
import java.security.PrivateKey;
008
import java.security.PublicKey;
009
import java.security.Signature;
010
import java.security.spec.PKCS8EncodedKeySpec;
011
import java.security.spec.X509EncodedKeySpec;
012
import java.util.ArrayList;
013
import java.util.HashMap;
014
015
import com.shop.domain.User;
016
017
/**
018
* 验证用户的公私钥
019
*
020
* @author V
021
*
022
*/
023
public class RSACheck {
024
025
public HashMapString, String getKey(){
026
KeyPairGenerator key = null;
027
try {
028
key = KeyPairGenerator.getInstance("RSA");
029
} catch (NoSuchAlgorithmException e) {
030
031
e.printStackTrace();
032
}
033
key.initialize(1024);
034
// 产生密钥对
035
KeyPair keyPair = key.generateKeyPair();
036
// 得到公钥
037
PublicKey publicKey = keyPair.getPublic();
038
// 得到私钥
039
PrivateKey privateKey = keyPair.getPrivate();
040
041
byte[] keyBytes=publicKey.getEncoded();
042
byte[] keyBytes2=privateKey.getEncoded();
043
044
//base64加密,方便以字符串存入数据库或文件
045
String temp = new sun.misc.BASE64Encoder().encodeBuffer(keyBytes);
046
System.out.println("公钥"+temp);
047
048
String temp2 = new sun.misc.BASE64Encoder().encodeBuffer(keyBytes2);
049
System.out.println("私钥"+temp2);
050
051
HashMapString, String keyRs=new HashMapString, String ();
052
keyRs.put("privateKey", temp2);
053
keyRs.put("publicKey", temp);
054
return keyRs;
055
}
056
057
//验证私钥公钥
058
public boolean checkKey(User user,String privateKey) {
059
060
try {
061
//获取数据库中的用户公钥
062
String sql="select code from users where name=? ";
063
String[] value = { user.getName()};
064
ArrayListHashMapString, String rs=new DBTool().doQuery(sql, value);
065
String publicKey=rs.get(0).get("code");
066
067
System.out.println(publicKey);
068
// base64解密
069
byte[] sikey = new sun.misc.BASE64Decoder().decodeBuffer(privateKey);
070
byte[] gongkey = new sun.misc.BASE64Decoder().decodeBuffer(publicKey);
071
072
// 将byte[]转成密钥
073
KeyFactory keyFactory = KeyFactory.getInstance("RSA"); // 指定算法RSA,得到一个KeyFactory的实例
074
075
// 解码私钥
076
PKCS8EncodedKeySpec pKCS8EncodedKeySpec =new PKCS8EncodedKeySpec(sikey);
077
PrivateKey privateKey2 = keyFactory.generatePrivate(pKCS8EncodedKeySpec);
078
// 解码公钥
079
080
KeyFactory keyFactory2 = KeyFactory.getInstance("RSA"); // 指定算法RSA,得到一个KeyFactory的实例
081
X509EncodedKeySpec x509KeySpec2 = new X509EncodedKeySpec(gongkey);
082
PublicKey publicKey2 = keyFactory2.generatePublic(x509KeySpec2);
083
084
085
Signature sig = Signature.getInstance("MD5WithRSA");
086
// 获取用户名
087
byte[] data = user.getName().getBytes("UTF8");
088
// 获取私钥
089
sig.initSign(privateKey2);
090
sig.update(data);
091
byte[] signatureByte = sig.sign();
092
sig.initVerify(publicKey2);
093
sig.update(data);
094
boolean verified = false;
095
verified = sig.verify(signatureByte);
096
if (verified) {
097
System.out.println("验证成功");
098
return true;
099
} else {
100
System.out.println("验证失败");
101
return false;
102
}
103
} catch (Exception e) {
104
// e.printStackTrace();
105
System.out.println("验证失败2");
106
return false;
107
}
108
109
}
110
}
java类,用key
HashMap无序,所以肯定要借助其他数据结构,上面说的sort map简直是扯淡,sort是对List的,Map是和List不同的接口,完全没关系。
你的key是什么类型
value是什么类型,按key的hashcode还是value的hashcode排列,不说清楚这个排法和数据结构完全不同
关于javakey类型和java编写一个类monkey的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-26,除非注明,否则均为
原创文章,转载请注明出处。