rsa加密概念和license總結
前幾天公司的專案需要用到rsa做個license,簡單總結一下
java 的加密技術有好多,看了幾種,都差不多,看了一下des 和 rsa加密和md5
據說rsa加密在未來的10年內是沒辦法解密的(據說,呵呵)。
首先:rsa 加密分publicKey(公鑰)和privateKey(私鑰),privateKey用來加密,publicKey用來解密和簽名驗證。
publicKey可以公開,privateKey自己儲存好。
在做的時候有兩種方式:
一種是把兩個key生成到一個檔案裡,字尾名可以隨便取,看不到裡面的內容,除非用自己寫的方法取出
例如RsaKey.data
一種是直接生成Key物件,可以儲存到一個字元轉裡,不管是private或者public Key都有兩個值,model和expend(不知道記得對不對),在第一種方式的檔案中儲存的也是這個,只不過生成檔案後可能進行編碼了。
數字簽名也就是把加密後的物件通過解密後跟原來的物件做對比看對不對,如果對的話就返回true,否則返回false。
rsa加密自己理解不深,不過在沒有複雜演算法的情況下應該夠用了。
下面說下license
license用來限制公司的專案濫用,防止copy。
在專案中建立一個license.xml 裡面可以有使用者名稱,專案使用到期時間,和mac地址(很重要,使用者伺服器的mac地址)和把使用者名稱和到期時間和mac加起來生成的字串通過rsa加密後的字串, 還有一些其他的引數可以自己定,在專案啟動時用公鑰進行驗證簽名,看對不對,如果對的話就繼續,不對可以在專案中生成一個全域性變數限制使用者許可權,然後再驗證取出客戶伺服器的mac地址進行對比,如果不相同的話就說明專案是從別的地方copy來的或者是使用者提供的mac不對,通過的話再驗證到期時間或者其他的一些引數。
再說下mac地址的得到,在jdk1.6中sun已經提供了方法得到及其的mac地址,在jdk1.5和jdk1.4中還沒有提供方法,只能通過檔案ipconfig /all命令得到,網上有一個前輩寫了一個,很實用。
由於理解的不深,只能簡單寫一下,有錯誤的地方忘糾正和諒解,可以共同進步,呵呵
相關文章
- 對稱加密、非對稱加密、RSA(總結)加密
- RSA加密加密
- php中aes加密和rsa加密的區別PHP加密
- RSA總結 From La神
- javascript RSA 加密JavaScript加密
- RSA加密與解密加密解密
- C# RSA 加密C#加密
- 非對稱加密和證書總結加密
- laravel核心概念總結Laravel
- RSA加密演算法加密演算法
- RSA加密遇到的坑加密
- 物件導向概念總結物件
- framewrok RSA SHA512加密加密
- php rsa長文加密解密PHP加密解密
- nodejs常用加密方式 RSA & AESNodeJS加密
- RSA 非對稱加密&解密加密解密
- TAMUctf 2024 RSA-證書修復-總結
- Web(牛腩)概念知識總結Web
- Git概念及工作原理總結Git
- RSA加密解密示例程式碼加密解密
- RSA加密原理&密碼學&HASH加密密碼學
- 關於php rsa加密處理PHP加密
- Android、Java RSA加密踩坑記AndroidJava加密
- 安全篇-AES/RSA加密機制加密
- Go加密演算法總結Go加密演算法
- 非對稱加密--RSA原理淺析加密
- (轉)Go加密演算法總結Go加密演算法
- 加密訪問資源方法總結加密
- Go 加密解密演算法總結Go加密解密演算法
- RSA加密解密原理深度剖析(附CTF中RSA題型實戰分析)加密解密
- 前後端資料加密傳輸 RSA非對稱加密後端加密
- 機器學習基本概念總結機器學習
- 備份容災相關概念總結
- 非對稱加密演算法RSA中的公鑰和私鑰加密演算法
- PHP中RSA加密演算法的使用PHP加密演算法
- 利用RSA對前後端加密的探索後端加密
- 經典加密演算法入門-RSA加密演算法
- 第四篇:非對稱加密及RSA加密演算法加密演算法
- charles license