UUID,加密解密算法的使用

注意的地方:

Base64Encoder,Base64Decoder并不屬于JDK標準庫范疇,但是又包含在了JDK中

解決方法:按照如下方法設置Eclipse導入%JAVA_HOME%\jre\lib目錄下的rt.jar包即可,Project->Properties,選擇Java Build Path設置項,再選擇Libraries標簽,Add External Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦!

如果在使用BASE64Decoder時遇到了這種情況:Access restriction : The type BASE64Decoder is not accessible due to restriction on required library C:\Program?
files\java\jre6\lib\rt.jar?,只需要在project build path中先移除JRE System Library,再添加庫JRE System Library就行了

具體代碼如下:

package leetcode;import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;public class Test12 {public static String getId(){//UUID java中不重復序列String id = UUID.randomUUID().toString();//System.out.println(id);//得到的這個序列號很長,可以用哈希碼來表示int hashCode = Math.abs(id.hashCode());return hashCode+"";}//md5加密算法,單向加密,沒有解密的public static String md5(String str){byte[] bytes = null;try {bytes = MessageDigest.getInstance("md5").digest(str.getBytes());//得到MD5的實例,再將字符串加密} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return new BigInteger(1,bytes).toString(16);//把字節數組轉化為正的bigInteger,然后變成16進制表示}//base64算法,解密,加密public static String base64Encode(String str){BASE64Encoder baseEncode = new BASE64Encoder();return baseEncode.encode(str.getBytes());//加密}public static String base64Decode(String str){BASE64Decoder baseDecoder = new BASE64Decoder();try {return new String(baseDecoder.decodeBuffer(str));//解密} catch (IOException e) {e.printStackTrace();}return null;}public static void main(String[] args) {System.out.println(getId());System.out.println("1234加密后:"+md5("1234"));String str = base64Encode("1234");System.out.println("1234加密后:"+str);System.out.println("解密后:"+base64Decode(str));}}

?

運行結果如下:

888859973
1234加密后:81dc9bdb52d04dc20036dbd8313ed055
1234加密后:MTIzNA==
解密后:1234

轉載于:https://www.cnblogs.com/wt20/p/5823461.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395191.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395191.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395191.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

sae mysql 同步本地_MYSQL入門之三_將本地MySQL數據導入SAE數據庫_MySQL

bitsCN.comMYSQL入門之三_將本地MySQL數據導入SAE數據庫1. MySQL字符集MySQL的默認字符集是latin1,將本地MySQL庫導出成sql,再導入到SAE的MySQL時中文字符出現亂碼,解決方法是將本地mysql默認字符集也設成utf8查看當前MySQL字符集mysql> s…

vim block vim_我如何學會愛Vim

vim block vimby Sanchit Gera通過Sanchit Gera 我如何學會愛Vim (How I learned to love Vim) I’ve had a bitter-sweet relationship with Vim for a long time.我與Vim有一段苦甜的戀情。 Over the last couple of years, I tried to learn Vim on several occasions. Ea…

AS 自定義 Gradle plugin 插件 案例 MD

Markdown版本筆記我的GitHub首頁我的博客我的微信我的郵箱MyAndroidBlogsbaiqiantaobaiqiantaobqt20094baiqiantaosina.comAS 自定義 Gradle plugin 插件 案例 MD 目錄 目錄AS 中自定義 Gradle plugin編寫插件傳遞參數發布插件到倉庫使用插件AS 中自定義 Gradle plugin 參考1 參…

學好Java的10個建議

1.克服慣性  將大塊任務細分為微任務。  2.關注大牛  你想學的或許是一門新的編程語言、應用框架或者是新的工具,一旦你確定了想要的是什么,就立刻去收集相應的優秀群體所做的一些優質的工作成果。這些可以從YouTube、Vimeo、HackerNews、各種博客…

中英文對照 —— 機械

0. 汽車 relay:繼電器,clutch:離合; motor:發動機(馬達);檔位: park:停車擋braking:制動(也就是剎車)空擋:neu…

電子郵件鏈接mailto_“ 3個鏈接”電子郵件的歷史記錄以及曾經發送的每個鏈接的存檔...

電子郵件鏈接mailtoby Quincy Larson昆西拉爾森(Quincy Larson) “ 3個鏈接”電子郵件的歷史記錄以及曾經發送的每個鏈接的存檔 (The history of the “3 links” email and an archive of every link ever sent) It was March 2016. The freeCodeCamp community was growing.…

機票垂直搜索引擎的性能優化

機票垂直搜索引擎的性能優化 原文:機票垂直搜索引擎的性能優化一、行業背景與垂直搜索我們先了解一下機票的行業背景,下圖是由中航信統計的數據,藍色的曲線代表平均每公里的票價,紅色曲線指的是客運量。從2011年到2016年,無論是國…

2015國內征信機構大數據整合能力對比

自2001年起,大陸地區現代企業征信業進入在競爭中發展的階段,信用問題開始得到社會各界的廣泛關注,許多政府和民間投資的企業征信機構攜帶大量資本如雨后春筍般出現。 隨著企業征信行業環境不斷改善,信息透明度低的問題日益凸顯。大…

Unity3D 裝備系統學習Inventory Pro 2.1.2 基礎篇

前言 前一篇 Unity3D 裝備系統學習Inventory Pro 2.1.2 總結 基本泛泛的對于Inventory Pro 這個插件進行了講解,主要是想提煉下通用裝備系統結構和類體系。前兩天又讀了另一個插件 C# Inventory-uGui v2.0.1的源碼(應該也是老外寫的)&#xf…

Java項目問題_Java項目出現的問題01----學習

0 運行環境MyEcplise2016Tomcat8.01今天在html的表格提交跳轉時發現,想要提交到自己寫servlet程序中,卻發現總是出錯http://localhost:8080/Test4/Test4/fail.html多出一個項目路徑/Test4,但是程序沒有任何問題,最后發現是在Ecpli…

express-cli入門_使用Express.js入門

express-cli入門by Victor Ofoegbu由Victor Ofoegbu 使用Express.js入門 (Getting off the ground with Express.js) 使用Node.js框架編寫Web應用 (Writing web apps with the Node.js framework) A common moment of truth is when you develop a lot of applications that n…

《瘋狂前端開發講義jQuery+Angular+Bootstrap前端開發實踐》學習筆記

《瘋狂前端開發講義jQueryAngularBootstrap前端開發實踐》學習筆記 二〇一九年二月十三日星期三2時28分54秒 前提:本書適合有初步HTML、CSS、JavaScript基礎的讀者,或對企業應用前端開發不太熟悉的開發人員。 第1章:前端開發與Ajax技術 要點&…

混合云:公共云和私有云之間取得平衡的方式?

在可預見的未來,混合云是現實的,但真正的收獲是試圖找出企業最終朝向公共或私人資源是否平衡。 你在與任何技術供應商溝通時,也許會涉及到數據中心,但大多會提到云計算的三種方式:私有云,公共云&#xff0c…

騰騰流氓,云云更流氓(問微信怎樣接入支付寶支付),手賤的趕緊點,你會感謝我的...

草原上的兩匹馬! 打從當年微信開始布局公眾號之初時,估計就已經想到了與支付寶正面沖突的場面,所以微信先來個瞞天過海,在春晚搞了個微信紅包,那叫一個火呀,此時的云云隱隱感覺到些許不安。 早期的微信開發…

java中的string是什么_什么是String

2017-07-28String和StringBufString namenew String("HuangWeiFeng");System。out。println(name"is my name");看似已經很精簡了,其實并非如此。為了生成二進制的代碼,要進行如下的步驟和操作:(1) 生成新的字符串 new S…

詳解華為與三星專利之爭 律師稱可能會打持久戰

華為技術有限公司(下稱“華為”)起訴三星,在近期中國企業起訴外企的“潮流”中掀起不小的漩渦。 “叫好聲”認為,這是已經擁有專利積累的中國企業在國際舞臺上的一次“實力亮相”,這件事本身就是中國制造業的勝利;“陰謀論者”認為…

租金 預測_如何預測租金并優化租賃期限,從而節省資金

租金 預測by Zhen Liu劉震 如何預測租金并優化租賃期限,從而節省資金 (How to Predict Rent and Optimize Your Lease Duration So You Can Save Money) In my last post, we talked about how to pick the best month to sign the lease based on seasonality. No…

java system load_關于java的System.load 和 System.loadLibrary

關于兩者的區別(參見http://blog.csdn.net/ring0hx/article/details/3242245)System.load 參數為庫文件的絕對路徑,可以是任意路徑。System.loadLibrary方法load的為相對路徑,即在java.library.path定義下的lib文件,文件名會更具不同的系統實…

東進技術南亞創捷

深圳市東進技術在其海外市場拓展中取得又一驕人戰績,于四月下旬與印度One97通信公司簽訂了長期戰略合作協議,One97將全面采用東進的全系列產品。同時簽訂的一期采購計劃,總裝機端口數約3萬線。該合約主要涉及東進技術的領先主打產品——Keygo…

如何在5分鐘內通過身份驗證構建RESTful API —全部從命令行(第1部分)

by Niharika Singh由Niharika Singh 如何在5分鐘內通過身份驗證構建RESTful API —全部從命令行(第1部分) (How to Build a RESTful API with Authentication in 5 minutes — all from your command line (Part 1)) If the title of this article excites you, then my frien…