创建一个虚拟解密文件设备,传递给该设备的参数就是它的真实物理地址,多媒体那边像正常文件操作一样。这个虚拟解密设备的驱动则负责解码。注意,你使用的加密方式必须是流加密,否则视频播放会有问题。

1.1.1 验证码加密接口中的验证码参数,均需要通过DES + BASE64加密,1.1.2 报文签名通票平台接入端分配一个cp_code和csecret,双方均采用如下规则对报文进行签名:l 第一步:签名源串构造规则:将请求参数按照如下规则组织“a=x&b=y&c=z&……”,每一个参数按参数名的自然数序排列。(按字典序排列)l 第二步:使用HMAC-SHA1加密算法,将Step1中的到的源串以及实现分配的密钥(csecret )进行加密;l 第三步:将Step2中得到的加密字串进行Base64编码。签名密钥(secret):abcdefghijklmnopqrstuvwx/*** 返回签名之后的JSON对象** @param json原JSON对象* @param secret密钥* @return* @throws Exception*/publicstatic String doSign(JSONObjectjson,String secret) throws Exception {String baseStr = "";for (Object key : newTreeSet(json.keySet())) {baseStr += ("&" + key + "=" + json.get(key));}SecretKeySpec key = newSecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA1");Mac mac = Mac.getInstance("HmacSHA1");mac.init(key);byte[] bytes = mac.doFinal(baseStr.substring(1).getBytes("UTF-8"));json.put("signature", new String(Base64.encodeBase64(bytes)));return json.toString();}
不需要加锁,Java ConcurrentHashMap内部已经实现了锁机制,ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEntry 用来封装映射表的键 / 值对;Segment 用来充当锁的角色,每个 Segment 对象守护整个散列映射表的若干个桶。每个桶是由若干个 HashEntry 对象链接起来的链表。一个 ConcurrentHashMap 实例中包含由若干个 Segment 对象组成的数组。