Docker Compose File (TensorFlow)

不想把TensorFlow硬生生安裝在作業系統上

剛好它有Docker可以用,何樂不為呢

 
TensorFlow.yml:

version: '3.1'

services:

	TernsorFlow:
		container_name: TensorFlow:latest-py3
		image: tensorflow/tensorflow
		restart: unless-stopped
		network_mode: "bridge"
		ports:
			- 6006:6006
		tty: true
		command: /bin/bash
		volumes:
			- /Users/AndyWu/Documents/Docker/TensorFlow:/TensorFlow

 

docker-compose -f TensorFlow.yml up -d
docker exec -it TensorFlow bash

密碼的加密模式(ECB CBC CFB OFB CTR)

使用金鑰進行對稱式加密時,要加密的明文長度通常都會遠大於金鑰長度

所以為了讓加密的演算法可以使用在各種不同長度的訊息上

加密的演算法會將明文或密文切割成區塊來依序進行處理

而這個區塊的大小,會剛好是金鑰的長度(扣掉檢查碼等等的)

有關對稱式加密的演算法如何依序處理這些區塊,又分成5種區塊加密模式
 

閱讀更多

一次性密碼本:窮舉也破解不了的密碼

前幾天看密碼學的書介紹了一次性密碼本,覺得很有意思

世界上絕大部份的密碼,只要使用暴力破解法去嘗試所有的排列組合

一定會有被猜中的一天(假如今天存在一台運算速度極快的電腦)

可是一次性密碼本特別之處就在於就算嘗試所有的排列組合

也無法確認哪組是正確的解密結果

 
一次性密碼本的特性:

  • 顧名思義是一次性使用,使用後必須銷毀
  • 密碼必須是真隨機數組成的(True Random Number)
  • 密碼與明文必須等長

 
閱讀更多

以公開的方式交換資訊生成對稱式金鑰

最近讀的密碼學的書裡面介紹了Diffie–Hellman Key Exchange,覺得很有趣,紀錄一下

 

使用情節

小明想與小華想利用對稱式加密建立加密連線

可是不管是任何一方先產生金鑰再傳送給另外一方都有被第三方監聽的風險

這時,Diffie–Hellman Key Exchange就派上用場了

Diffie–Hellman Key Exchange用於當溝通的雙方處於不安全連線(被第三方監聽)下

仍能交換資訊生成對稱式金鑰建立加密連線

閱讀更多

Git修改local端、server端的branch名稱

之前為了測試新功能而建立新的branch

原本想說只是測試看看,所以就暫時隨便取一個名字

到最後發現名字跟branch的內容有點文不對題

於是去查了一下git怎麼改local端跟server端的branch名稱

 

改local端的branch名稱

git branch -m {欲改名的branch} {branch新名稱}

這樣只有改好local端的名稱

還要把新名稱的branch push到server,並且把舊名稱的branch刪除

git push origin {新名稱的branch} :{改名後欲刪除的branch}

 

改server端的branch名稱

如果欲改名的branch並不存在local端,只存在server端

在server端複製一份欲改名的branch,並且重新取好新名字

git branch {branch新名稱} origin/{欲改名的branch}

把剛剛的操作push至server

git push origin {新名稱的branch}

把舊branch從server端上刪除

git push origin :{改名後欲刪除的branch}