如何使用Rust程式語言來產生密碼或是計算密碼強度?密碼又該如何安全儲存呢? 2018 年 11 月 9 日 Magic Len Rust 密碼是一種最常用來驗證身份的機制,例如在登入使用者帳號時,常會搭配密碼一起輸入,以確保存取這個帳號的人是帳號的擁有人或是代理人。由於密碼就像是身份證一樣的東西,因此不能太簡單,太簡單就會容易被人猜到,或是被電腦程式破解。在撰寫程式的時候,我們常會需要檢查、驗證及儲存使用者輸入的密碼,或是產生出密碼以供使用者或是系統本身使用。若是使用Rust程式語言的話,要如何處理密碼的相關功能呢? 繼續閱讀
如何在Linux作業系統上交叉編譯Rust程式? 2018 年 11 月 7 日 Magic Len Rust 當Rust程式開發完成,要進入部署階段的時候,開發時用的系統環境和投入使用時用的系統環境不一定會相同,例如用x86_64桌上型電腦和Linux作業系統開發ARM64樹莓派上的程式,在部署的時候我們就需要針對樹莓派所使用的CPU架構和作業系統來做程式的重新編譯,否則如果直接將x86_64桌上型電腦的Linux作業系統下編譯出來的程式,放到ARM64樹莓派內的話,就算都是使用Linux作業系統,程式也... 繼續閱讀
如何編譯出完全靜態的Rust程式? 2018 年 11 月 5 日 Magic Len Rust 在Linux作業系統上編譯Rust程式時,預設使用的目標(target)為「*-unknown-linux-gnu*」(例如x86_64-unknown-linux-gnu、i686-unknown-linux-gnu等),因此編譯出來的執行檔會與「glibc」進行動態連結。如果使用較新的Linux作業系統來編譯Rust程式,該程式很可能就會因為glibc版本也較新的關係,而無法在較舊的Linux... 繼續閱讀
如何在Rust程式語言中使用C/C++的函式庫? 2018 年 11 月 3 日 Magic Len C & C++、 研究分享、 Rust 作為新穎、先進的程式語言,Rust的函式庫還沒有C/C++語言的函式庫來得多且完整。在很多時候,我們還是無可避免地必須要去使用現有C/C++程式語言所實作的函式庫來完成我們需要的功能。雖然一般來說,我們還是會比較喜歡用純Rust程式碼來開發程式,確保程式的安全性以及可移植性,但畢竟要把過去每個C/C++程式語言所實作的函式庫,都使用Rust程式語言來改寫,是非常不切實際的事。在開發成本的考量之下,... 繼續閱讀
Rust程式語言的數值型別的相互轉換 2018 年 11 月 1 日 Magic Len Rust Rust程式語言中並沒有內建一種能夠代表所基本數值型別(u8, i16, f64等)的型別,也因此當我們在定義函數或方法的時候,如果要透過參數傳入數值型別的值的話,通常會需要以「fn xxx_u8」、「fn xxx_i16」、「fn xxx_f64」的方式將每個不同的數值型別都獨立定義出來。您可能會想問:為什麼不用泛型?那是因為就算用泛型,我們還是沒有辦法限制泛型的型別參數只能是數值型別。 繼續閱讀