皮皮网

【图标php导航源码】【ffmpeg源码编译库】【亚马逊跑分源码】base64encoder源码

来源:黄页程序 源码 时间:2024-12-23 19:18:20

1.java加密的几种方式
2.Java中用Base64编程的文件批量加密解密工具程序代码
3.这个(base64编码)音频数据怎么用?
4.java base64解码 怎么是乱码呢
5.java base64decoder
6.关于sun.misc.BASE64Encoder 解密

base64encoder源码

java加密的几种方式

       基本的单向加密算法: 

       BASE 严格地说,属于编码格式,而非加密算法

       MD5(Message Digest algorithm 5,图标php导航源码信息摘要算法)

       SHA(Secure Hash Algorithm,安全散列算法)

       HMAC(Hash Message Authentication Code,ffmpeg源码编译库散列消息鉴别码)

       复杂的亚马逊跑分源码对称加密(DES、PBE)、非对称加密算法: 

       DES(Data Encryption Standard,数据加密算法)

       PBE(Password-based encryption,基于密码验证)

       RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)

       DH(Diffie-Hellman算法,密钥一致协议)

       DSA(Digital Signature Algorithm,数字签名)

       ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)

       代码参考:

       /** 

       * BASE加密 

       *  

       * @param key 

       * @return 

       * @throws Exception 

       */  

       public static String encryptBASE(byte[] key) throws Exception {   

       return (new BASEEncoder()).encodeBuffer(key);  

       }  

       /** 

       * MD5加密 

       *  

       * @param data 

       * @return 

       * @throws Exception 

       */  

       public static byte[] encryptMD5(byte[] data) throws Exception {   

       MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);  

       md5.update(data);  

       return md5.digest();  

       }  

       /** 

       * SHA加密 

       *  

       * @param data 

       * @return 

       * @throws Exception 

       */  

       public static byte[] encryptSHA(byte[] data) throws Exception {   

       MessageDigest sha = MessageDigest.getInstance(KEY_SHA);  

       sha.update(data);  

       return sha.digest();  

       }  

       }  

       /** 

       * 初始化HMAC密钥 

       *  

       * @return 

       * @throws Exception 

       */  

       public static String initMacKey() throws Exception {   

       KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC);  

       SecretKey secretKey = keyGenerator.generateKey();  

       return encryptBASE(secretKey.getEncoded());  

       }  

       /** 

       * HMAC加密 

       *  

       * @param data 

       * @param key 

       * @return 

       * @throws Exception 

       */  

       public static byte[] encryptHMAC(byte[] data,反码与源码之和 String key) throws Exception {   

       SecretKey secretKey = new SecretKeySpec(decryptBASE(key), KEY_MAC);  

       Mac mac = Mac.getInstance(secretKey.getAlgorithm());  

       mac.init(secretKey);  

       return mac.doFinal(data);  

       }  

Java中用Base编程的文件批量加密解密工具程序代码

       /** * BASE解密 * * @param key * @return * @throws Exception */

       public static byte[] decryptBASE(String key) throws Exception { return (new BASEDecoder()).decodeBuffer(key); } /** * BASE加密 * * @param key * @return * @throws Exception */ public static String encryptBASE(byte[] key) throws Exception { return (new BASEEncoder()).encodeBuffer(key); }

这个(base编码)音频数据怎么用?

       import java.io.File;

       import java.io.FileInputStream;

       import java.io.FileOutputStream;

       import java.io.FileWriter;

       import java.io.InputStream;

       import java.io.OutputStream;

       import sun.misc.BASEDecoder;

       import sun.misc.BASEEncoder;

       public class base {

       public static String getWAVString(){

       File fi = new File("click.wav");

       if (!fi.exists())

       return "";

       byte[] data = null;

       try{

       InputStream is = new FileInputStream(fi);

       data = new byte[is.available()];

       is.read(data);

       is.close();

       }catch(Exception ex){

       ex.printStackTrace();

       }

       BASEEncoder encoder = new BASEEncoder();

       return encoder.encode(data);

       }

       public static void getWAV(){

       BASEDecoder decoder = new BASEDecoder();

       try{

       byte[] data = decoder.decodeBuffer(WAVString);

       /*for(int i=0 ;i<data.length;i++){

       if (data[i] < 0) {

       data[i] += ;  

       }  

       }*/

       OutputStream out = new FileOutputStream("click_BASE.wav");

       out.write(data);

       out.flush();

       out.close();

       }catch(Exception ex){

       }

       }

       public static void main(String[] args){

       WAVString = getWAVString();

       try{

       FileWriter out = new FileWriter("Click_BASEString.txt");

       out.write(WAVString);

       out.flush();

       out.close();

       }catch(Exception ex){

       }

       getWAV();

       }

       private static String WAVString;

       }

java base解码 怎么是乱码呢

       会乱码的原因是你的编码不一致导致的

       php中的urlencode的编码是和系统编码一致的(比如windows默认gb,ubuntu默认utf-8)

       所以首先需要确定你的系统编码,之后根据得到的系统编码在调用java的decode方法的时候,将这个编码传入(考虑到你的例子中有繁体字,所以,建议你使用utf-8编码),以下是我使用utf-8编码的例子(php环境是ubuntun下)

java basedecoder

       java basedecoder是什么,让我们一起了解一下?

        decoder是java base的解码,可以用Java程式语言来实操Base的编码与解码功能,在实际应用上,Base除了能将Binary资料可视化之外,也常用来表示字串加密过后的内容。

        那么在Java上如何做Base的编码与解码(decoder)?可分为两个时期。

       æ—©æœŸåšæ³•ï¼š

        早期在Java上做Base的编码与解码,会使用到JDK里sun.misc套件下的BASEEncoder和BASEDecoder这两个类别,用法如下:

        final BASEEncoder encoder = new BASEEncoder();  final BASEDecoder decoder = new BASEDecoder();  final String text = "字串文字";  final byte[] textByte = text.getBytes("UTF-8");  //编码  final String encodedText = encoder.encode(textByte);  System.out.println(encodedText);  //解码  System.out.println(new String(decoder.decodeBuffer(encodedText), "UTF-8"));

        后期做法:

        在Java 8的java.util套件中,新增了Base的类别,可以用来处理Base的编码与解码,用法如下: package com.lmp.utils; import sun.misc.BASEDecoder; import sun.misc.BASEEncoder; public class test {     public static void main(String[] args) throws Exception {         String str = "hello word";         BASEEncoder baseEncoder = new BASEEncoder();         // JDK1.8 BASEEncoder åŠ å¯†         String encode = baseEncoder.encode(str.getBytes());         System.out.println(encode);         BASEDecoder baseDecoder = new BASEDecoder();         // JDK1.8 BASEDecoder è§£å¯†         byte[] bytes = baseDecoder.decodeBuffer(encode);         String res = new String(bytes);         System.out.println(res);     } }

关于sun.misc.BASEEncoder 解密

       BASEDecoder

       è¿™ä¸ªæ²¡æœ‰java doc,属于jdk里不推荐使用的工具类

       å¼ºçƒˆå»ºè®®ä¸è¦ç”¨sun.misc,是不安全的 ï¼Œæœ€å¥½ä¸è¦ä½¿ç”¨

       è§£å†³æ–¹æ¡ˆï¼š 

       ä½¿ç”¨apache common中的Base替换 

       ä½ å¯ä»¥åœ¨è¿™é‡Œä¸‹è½½Apache commons codec: 

       mons.apache.org/codec/