原创 一文詳解非對稱加密算法之RSA Padding

TL;DR: 上一篇文章我們介紹了非對稱算法RSA,介紹了RSA的基本原理,公私鑰的產生以及加解密的過程,並且用Java 以及OpenSSL做一些實踐。這篇文章我們來介紹RSA加密算法的安全問題以及處理方法,主要是補位 - Pa

原创 一文詳解非對稱加密算法之RSA算法

目錄公開密鑰算法概要RSA 算法RSA算法原理公私鑰的生成加解密的過程RSA算法的安全性RSA的實踐RSA的使用及常見問題 TL;DR: 上一篇文章我們介紹了對稱加密算法,其最主要的特點就是加密者和解密者持有相同的密鑰,所以稱之爲

原创 一文詳解對稱密鑰加密

TL;DR: 前面幾篇文章我們介紹了密碼學的兩大基本單元 - 隨機數和Hash算法。有了這兩大基元的加持,我們就可以開始密碼學中的加解密算法的介紹。本文我們將重點介紹密碼學中的對稱密鑰算法,包括流密碼算法,塊密碼算法;各種算法的基

原创 一文詳解密碼學Hash算法的安全問題(加鹽+HMAC)

密碼學Hash算法的安全問題密碼學Hash算法作爲身份驗證的安全問題重要聲明彩虹表什麼是彩虹表彩虹表從哪來的彩虹表怎麼用Hash加鹽靜態鹽隨機鹽鹽的存儲Java加鹽Hash的實現HMACHash一致性校驗的問題HMACJava H

原创 一文詳解密碼學中的Hash算法

一文詳解密碼學中的Hash 算法 上一篇文章裏面,我們介紹了隨機數以及隨機數中的應用,可以看到密碼學中到處都有隨機數的身影,這種作爲大部分密碼學算法的基本組成被稱之爲 “加密基元“。今天我們一起來看一下另外一個加密基元 - 密碼學

原创 一文詳解編程中的隨機數

一文詳解編程中的隨機數隨機數的類型真隨機數生成器 TRNG - True Random Number Generator僞隨機數生成器 PRNG - Pseudo Random Number Genrator隨機數的使用真隨機數開

原创 Rest API的認證模式

Rest API的認證模式Rest API的認證模式AppKeyAppKey + SecretJWTOAuth Rest API的認證模式 微服務系統中,很多團隊採用了API驅動設計開發,服務之間的調用都通過API來實現的。爲了

原创 統一認證 - Apereo CAS 客戶端的集成以及小結

前兩篇介紹了Apereo CAS以及服務器端的安裝,但還不夠完整,服務端還沒有Application真正用起來呢!這篇文章將介紹怎麼用起來 集成的目的 客戶端我們想要與Apereo CAS做什麼集成呢?回顧一下Apereo CAS

原创 統一認證 - Apereo CAS 小試

上一篇文章我們對Apereo CAS有了簡要的瞭解,這篇文章我們將動手練習Apereo CAS。主要是CAS單機版的搭設,用戶信息存儲到數據庫,以及dashboard的使用 做這些嘗試的時候,Apereo CAS比較穩定的版本是

原创 統一認證 - Apereo CAS 簡介

爲什麼要做這個嘗試? 微服之道,方興未艾;農之來學者,蓋已千者! 這句是從《陶山集·太學案問》瞎改出來的。意思就是微服務的架構理念還在不斷地發展,現在整個啥都 言必出微服務,差點都到了 沒學過微服務的碼農不是一個好碼農。搞到微服務這

原创 GIT - 代碼分支管理模型之二

代碼分支管理模型之二書接上文歷史背景簡單但囉嗦的分支管理模型主心骨RELx.0DEVx.0小版本怎麼辦?有bug怎麼辦?簡單但囉嗦簡單囉嗦 書接上文 在前一篇文章GIT 代碼分支管理模型之一中,我們一起了解了一種叫做“成功的代碼分支管

原创 GIT - 代碼分支管理模型之一

成功代碼分支管理成功的代碼分支管理咬住青山不放鬆masterdevelop文體兩開花featuresreleasehotfix 這裏要先強調一下,分支管理的方式各有千秋,不存在誰一定比誰好,只有誰比誰更適合你而已 成功的代碼分支管

原创 GIT - 關於文件處理的兩個問題

大家平時在使用GIT的時候,尤其是在Windows平臺的時候,一般都不會特別留意跟文件相關的一些問題,比如說 文件權限,大小寫問題。 這篇文章將給大家介紹在GIT使用中,關於文件處理的兩個問題 文件權限 正常情況下,我們都不用太在

原创 500行JS代碼打造你的專屬GIT

這篇短文將介紹如何用500行的Javascript代碼,寫一個你自己專屬的GIT。 這不是一個如何使用GIT的工具,而是GIT的底層實現。目的是希望能加深對GIT的底層實現原理,而不是想換掉GIT,這只是一個GIT的雛形而已 代碼來自開

原创 GIT - 一些基本概念

這篇博客將會介紹一點GIT的基本概念,重點是文件狀態以及對應的GIT工程的三種目錄,尤其是暫存區(stage area)。有點枯燥,但應該對大家瞭解GIT有一定的幫助 一點GIT的概念 幾乎所有的操作都在本地   用過集中式版本控制系