短加密(ShortCrypt)網頁版 將任意資料加密成另一組看似非常隨機且簡短的資料 2019 年 2 月 27 日 Magic Len 作品分享、 網站應用 在傳遞資料的時候,我們可能會需要隱藏敏感的資料,讓一般使用者不會直接看到,例如流水序號、密碼等。這樣的資料通常都很小,可能只有數個位元組,但如果使用AES/DES加密,密文(也就是加密後的資料)都至少有16個位元組以上!實在不太適合用來加密這樣的少量資料。 繼續閱讀
如何用Rust程式語言來處理vCard? 2019 年 2 月 25 日 Magic Len Rust vCard是一種電子名片的文件格式標準(RFC 6350),被用來傳播個人或是公司組織的聯絡信息,常用的媒介有電子郵件和QR Code二維條碼。雖然vCard 4.0已經制定了好幾年的時間,但現行的vCard主流版本依然還包含著2.1和3.0,尤其以3.0最廣為使用(macOS的聯絡資訊只支援輸出2.1和3.0,預設使用3.0),不過由於不同應用程式對於vCard的實作方式不盡相同,時常還是有相同... 繼續閱讀
如何用Rust程式語言來產生QR Code? 2019 年 2 月 23 日 Magic Len Rust 因行動裝置的流行而跟著帶動起來的QR Code,是眾多條碼類型的其中一種,它讓我們的生活更便利,傳遞資訊的速度更快,省下許多使用鍵盤打字的時間。如果要產生出QR Code,已經有許多相關的現成工具能夠使用,甚至還能直接在網頁上產生。只是有的時候還是會遇到需要在自己的程式中加入產生QR Code的狀況,像是需要產生大量的QR Code時,或是想要讓自己的程式能不依賴其他工具就能獨立使用。這篇文章,將... 繼續閱讀
Nginx如何防止圖片被盜連(Hotlink Protection)? 2019 年 2 月 21 日 Magic Len 研究分享、 網路相關 「Hotlink Protection」(直接連結保護)是經營網站經常需要去注意的一塊,但為什麼我們會需要「Hotlink Protection」呢?身為圖文並茂的網路文章作家,最擔心得就是自己的文章被別人整篇連文帶圖地複製貼上到其它地方了。此時如果圖片有套用「Hotlink Protection」的話,就可以讓被盜用的圖片在其它網站上「不被正常顯示」出來,如此一來,就能使其它誤入盜文頁面的訪客可... 繼續閱讀
Nginx如何進行轉址? 2019 年 2 月 19 日 Magic Len 研究分享、 網路相關 Nginx是一個免費開源且穩定高效的Web伺服器程式,擁有反向代理以及負載平衡的功能,經常作為最前端的伺服器,也很常用來實現「轉址」(URL redirection)功能。 繼續閱讀
如何用Rust程式語言來呼叫Unix-like作業系統內建的「bc」指令? 2019 年 2 月 17 日 Magic Len Rust 「bc」是Linux作業系統內建用來進行任意精度計算的指令,可以透過撰寫簡單且類似C語言的數學腳本來計算數學。例如輸入「scale=4;9/8」,可以得到「1.1250」的輸出。在Rust程式語言中,也可以利用「bc」來協助我們計算複雜的數學。 繼續閱讀
如何壓縮或是美化JSON格式的資料? 2019 年 2 月 13 日 Magic Len 作品分享、 網路相關、 網站應用 JSON(JavaScript Object Notation)為一種數據交換結構,相比XML,JSON的語法顯得更為輕巧,能夠大大地減少數據交換時所要傳遞的資料量。現在許多網路服務的API(Application Programming Interface)是使用JSON格式的文字訊息來進行資料交換。絕大部分的企業提供的API所傳回的JSON訊息,沒有使用空格字元或是換行字元來進行排版,為得就是... 繼續閱讀
修改BitTorrent追蹤器,加快BT下載的速度 2019 年 2 月 11 日 Magic Len 網路相關 BitTorrent(簡稱BT)是分享檔案專用的P2P網路協定,其特色在於下載同一個檔案的使用者愈多(種子數愈多),該檔案的下載速度就愈快。這是因為每位下載檔案的使用者都必須同時分享自己已經下載好的組塊(chunk)給其它有需要的使用者來下載。也就是說,若我們可以得知愈多下載該檔案的使用者,理論上就可以有愈多的檔案區塊來源,進而加快下載的速度。至於我們要如何知道有哪些使用者正在使用BT下載該檔案呢... 繼續閱讀
如何用Rust程式語言進行中文數字的轉換? 2019 年 2 月 9 日 Magic Len Rust 「中文數字」是中文的數字表示方式,例如「123」,可以表示為「一百二十三」。中文數字如同英文字母一樣有區分大小寫,例如「123」的中文數字小寫為「一百二十三」,大寫則為「壹佰貳拾參」。至於單位則有個、十、百、千、萬、億、兆、京等等,相同單位的數量級也並非只有一種,而是分為下數、萬進、中數和上數這主要四種系統。中文數字是老祖宗的智慧,但對於現在的數位系統來說並不怎麼合適,還是得經過轉換才行。那麼要如... 繼續閱讀
如何將Rust程式的Log訊息輸出成Log檔? 2019 年 2 月 7 日 Magic Len Rust 在開發程式的時候,經常會需要使用「Log」或是「Console」等類別輸出某些文字訊息來告訴系統管理員程式執行的狀況。當程式作為背景服務來運行的時候,通常會將這些Log訊息寫進檔案系統內,方便日後查閱。然而,儲存在檔案系統中的每則文字訊息雖然可能只是短短的幾行字,但累積久了也是會佔用不少硬碟空間,如果沒有定期整理的話,可能哪天系統的可用空間就被歷史紀錄塞滿,而導致當機。為了避免程式輸出的訊息塞滿硬... 繼續閱讀