本文目錄一覽:
雲南北大青鳥java培訓告訴你使用JavaAPI的5個技巧?
本文介紹了一些關於JavaAPI安全和性能方面的簡單易用的技巧,其中包括保證APIKey安全和開發WebService方面中,java課程培訓機構認為在框架方面選擇的一些建議。
程序員都喜歡使用API!例如為app應用構建API或作為微服務架構體系的一部分。當然,使用API的前提是能讓你的工作變得更輕鬆。為了簡化開發和提高工作效率所作出的努力,有時也意味著需要尋找新的類庫或者過程(或者減少過程)。對於很多開發團隊來說,對於其APP和API進行管理認證和訪問控制要耗費很多的時間,因此我們需想分享一些技巧,它們能節約你的時間,減少代碼編寫量,並能讓你的應用更加安全和易於維護。
先介紹下本文提及的背景知識:Okta是一個基於REST、JSONAPI構建的Java應用,使用Spring框架構建。我們公司的應用,是保存用戶的身份憑證和其他公司的敏感數據,所以對我們來說,安全是最重要的。因此,我對這些技巧的第一個要求是,它們能幫助令到你的Java應用更安全。
這些建議應該是任何類型的Java應用都是通用的。它們會幫助你更快地編寫代碼,但代碼量更少了,同時又更安全:這真的是三贏的結果!
1.不要自己去實現安全框架
說真的,不要嘗試自己去實現安全方面的代碼,這太難了。
幾乎每個人都知道避免去實現加密等演算法。同樣道理,你的應用的安全棧的其餘部分也是一樣,可能需要花費很大,得到的風險也很大。你很可能會犯一些錯誤。自1999年以來,已經有89373個CVE(公共漏洞和暴露)發布了。而其中公開的大部分的發現者都是那些非常聰明的人。
你可能認為處理一個簡單的用例(例如驗證用戶的密碼)是很簡單的事情——你所做的一切只是比較一對字元串。這樣想就錯了。你需要驗證密碼的哈希值,審核嘗試登錄的次數,減少針對字典的攻擊,這只是冰山一角。你最好的選擇是使用現有的成熟的庫或框架,例如Apache的Shiro或者SpringSecurity,讓這些框架去處理各類複雜的安全問題。
2.UseTLS,Always!永遠使用TLS!
現在已經是2017年了,所有的網站都應該使用HTTPS了,甚至是公司的內網。Let』sencrypt讓HTTPS變得輕鬆和簡單,這意味著你能不再使用不安全的自簽密鑰了!你甚至可以在本地設置帶證書認證的Tomcat或者Nginx實例。
java如何應用API?
在我們開發中,對於任何操作,信息中時間是非常重要的一點,我們可以根據時間判斷發生的時間,時間可以記錄非常重要的信息;
在Java中,專門給我們提供了處理時間的API,根據Java封裝的時間類,我們可以很方便的操作時間信息;
在處理時間的時候,有個概念我們經常會用到,就是時間戳,時間戳表示的是從1970年01月01日00時00分00秒起至現在的總毫秒數,我們可以將時間戳與時間進行隨意的替換;
Java中處理時間的類是java.util.Date,這個類有常用的兩個構造方法,一個是無參的獲取的當前時間的對象,一個是出入一個時間戳,獲取該時間戳對應的時間,JDK中這個類還提供了一些其他的構造方法,比如傳入年月日等多個參數獲取對應的時間,但是這些構造方法JDK中已經不建議使用了,需要注意的是,使用年月日參數(過時的構造方法)創建對象的時候,傳入的年的參數需要減去1900,因為JDK中默認處理將年份增加了1900;
Java中還提供了一個類SimpleDateFormat可以方便我們將Date與字元串進行轉換,Date類中重寫了toString方法,所以當列印date的時候,會按照重寫的格式進行列印,但是有時候我們需要定義自己的格式進行輸入輸出,這時候就可以使用SimpleDateFormat類來進行自定義;
創建SimpleDateFormat對象的時候,需要傳入一個參數,我們可以按照自己想要的格式進行編寫,例如」yyyy-MM-dd hh:mm:ss:SSS」, 這樣輸出的格式就會是年-月-日 時:分:秒;我們可以隨意調整列印的順序與格式;其中yyyy表示年份,MM表示月份(大寫),dd表示日期,hh表示小時,mm表示分鐘(小寫),ss表示秒(小寫),SS表示毫秒(大寫);除了這些格式外,還可以列印到時區,周幾,一周第幾天等信息;
除了可以將時間對象轉換成字元串,SimpleDateFormat也可以將字元串轉按照相應的格式成對應的時間;
java常用api有哪些?
Java常用API包括如下:
Java集合(位於java.util包下)
Java資料庫編程(位於java.sql和javax.sql包行下),
Java輸入輸出(位於java.io和java.nio包下),
Java圖形界面編程(位於java.awt包和javax.swing包下),
Java國際化和格式化(位於java.text包下),
Java多線程編程(位於java.concurrent包下),
Java網路編程編程(位於java.net包下)
推薦你參考下瘋狂java講義的目錄,這些內容有詳細介紹。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/196508.html