Pages

2023-04-24

TextCrypt字串加解密工具

撰寫應用程式時,我們常會將設定檔*.config裏的敏感字串(如資料庫連線)加密以防止被人任意窺看,再於Runtime執行時依特定Secret Key作字串解密。然而明文字串隨時可能修改,因此我們需要一個簡易的工具來幫快速產生已加密的字串值。
此工具支援比較常用的對稱式可逆加密法:



2023/04/24 Version History:

  1. 新增Base64Url加解密功能。
  2. 升級.NET Framework版本,由4.6升級至最新4.8

2015/08/14 Version History:

  1. 新增XOR+Salt4的原創加密方式,它的作法簡單卻效能高,且可轉換成各種程式語言(因為原理簡單)。
    明文20字,加密後的長度為32值,剛好與一般密碼長度一致(MD5/GUID)。
  2. 新增XOR+MD5加密法,它是將密碼MD5 Hash後(16-byte),與明文作XOR運算而得到密文。
  3. 增加文字顯示的字串長度值,以觀測密文與明文之間的長度變化。
  4. 更換App Icon.
2014/10/06 Version History:
  1. 新增輸出字串轉成HEX十六進位顯示,這可以驗證RC4加密後的加密陣列。
  2. 升級方式,exe+config檔全部overwrite舊檔。
2014/05/05 Version History:
  1. 新增標準的AES-128/256加密法,使用32位長的Salt產生Hash Key/IV bytes,增強安全性。
  2. 新增GUID/UUID產生器。
  3. 新增Input/Output文字方式的複製、清除及大小寫的功能。
  4. 重新排序CryptType的下拉項目順序。
程式下載:(.NET 4.8 Required, Portable, V23.4.24, Size: 394KB)
[
OneDrive]

2017-06-28

VMware奇怪的網路NAT(VMnet8)不通

在一次升級VMware 12.5.3至15.5.5版本時,升級過程貌似一切正常,但虛擬機原本運作好好的NAT網卡,卻出現「Could not connect 'Ethernet0' to virtual network 'VMnet8'」的奇怪錯誤,無法上網也無法和HOST OS互PING相連。即使把該虛擬機網卡移除再新增,也無法連接網卡。

由於我的NAT網段不是用預設值的,估計裏頭亂掉了,經過查網是必須恢復回預設值。因此開啟VMware主畫面,在功能表「Edit/Virtual Network Editor」畫面的左下角,點擊「Restore Defaults」回復預設值按鈕。

image

它會整個VMware網卡驅動重新整理,變成預設的網段,再調整回自己慣用的虛擬網段即可。

2017-06-22

福特汽車FOCUS MK3的軟骨雨刷邊頭怎麼拆?

軟骨雨刷比傳統硬骨雨刷的優點是具彈性較貼合玻璃,更能掃除雨水而不殘留水痕,但其缺點就是當其接觸面膠條老化時,就會和玻璃產生澀感而出現尾部跳動的問題,很令人抓狂。

網上有人說把膠條抽出來反著裝,就能解決問題,但由於我是買了新膠條後才發現這樣的撇步,所以就等日後再試了。不管是反裝或新膠條,第一步都是要拆兩側的邊頭,它是一個塑膠頭卡榫緊緊扣著。

image

第1次拆不知其卡榫原理,搜尋網上也沒有細部圖片,因此我用起子大力單側硬扯才下來。檢視其卡榫設計,原來是單側較厚,推入時就能利用這厚片卡著下方鐵片溝槽。

image

因此要拆除這兩側邊頭,就是用起子翹起那厚片卡榫處,稍微提起放在溝槽邊角放著,再把另一側卡榫也同樣處理,最後輕輕往外抽就好了。

image

解決兩側的邊頭套,裏面的膠條就很容易抽換掉了。燈光下檢視膠條切面,的確是朝某面傾斜,或許反裝膠條可以暫時延緩一下老化的速度。不過,會造成雨刷跳動的問題很多,玻璃油膜、含矽雨水劑、玻璃噴臘、刷骨角度…一大堆的,大致測試一下若無法解決,就是換新雨刷了。聽說雨刷積(刷卡去除老化膠末)也很好用,開車維修想省錢就是神農試百草,但堅持的程度要自己拿捏,否則省小錢花大錢也不理智。

2017-05-09

移除Win10預設所有Apps軟件

如果你的Win10電腦是專門工作用途,而且用不著WIN10預設安裝APP的話,可以使用下面教學文章去移除所有預設安裝的App程式。若之後想要安裝,再使用其Store商店程式作單一安裝即可。

How To Uninstall Default Apps In Windows 10
http://www.intowindows.com/how-to-uninstall-default-apps-in-windows-10/

簡單步驟:

  1. 以Admin角色執行「Windows Powershell」程式,輸入以下指令即可一鍵移除所有預設安裝的APP。
    Get-AppxPackage -AllUsers | Remove-AppxPackage

    image
  2. 完成預設App移除工作,就是這麼簡單。

我也挺喜歡Win2016的工作介面環境,它使用WIN10的系統核心卻沒有多餘花俏的APP,只可惜SERVER版對一些硬件的驅動程式採事先驗證,無法像WIN10能插上就無痛驅動,因此還是選擇時常出新UPDATE的WIN ISO檔為宜。

2017-04-18

透過GOOGLE翻譯和外籍看護溝通

2016年中旬因為老家父母陸續生病(中風及失智)需人照顧,因此聘請印尼看護居家照顧,由於看護個人語言能力不一,加上中文對外國人來說是相當難學習的語言,因此溝通的方式主要透過GOOGLE翻譯工具來達到意思溝通。由於家裏沒有多餘人力能輔助,所以我尋找年紀30-40歲性格相對沉穩的看護,並給予看護完全自主買菜照護的自由,以達到最高效率。經過一段時間輔導相處及磨合,身為雇主的我發現有一些生活溝通翻譯的技巧,分享這些經驗給大家。

  1. 印尼看護平均學歷為初中或高中,基本簡單英文OK,但要用完整英文句子溝通90%是有困難的,因此GOOGLE翻譯網站來產生印尼譯文是最常用的。家裏最好申辦網路供其上網需求,以能看YOUTUBE視頻及客廳網路攝像鏡頭為最低基準,推薦以中華光世代16MB/3M方案為宜,那種ADSL 5M/1M方案根本不敷需求。
  2. 中文成語詞性博大精深,整段中文句子要直成印尼文50%會有偏誤,用英文翻成印尼文會好一點,但多一層轉換成本。發現多善用逗號來斷開中文詞句,翻譯的效果就能改善,再透過反覆逆轉翻譯來修正,就可以達到90%正確意思表達。
    Google Translator
  3. 一圖勝千文,再貼心一點搜尋GOOGLE圖片,能100%表達正確意思。
    Google Image
  4. 實務上生活簡易資訊分享溝通不會那麼費勁,我通常直接在LINE上用簡單英文+網圖來表達意思。請一定要用英文,不要直接打中文讓她們去谷歌搜尋,因為複製中文搜尋太折騰外國人。她們通常會用印尼文回應,不過簡短的印尼文因為無上下文推斷,GOOGLE翻譯有時不太靈光但瑕不掩瑜。
    LINE Dialog
  5. 仲介公司通常有印尼翻譯可以幫忙溝通,不過我建議平時溝通就該化整為零,透過上面的自助翻譯方式,相處久了自然形成默契及信任感。

每個家庭裏的病人狀況/數量不一樣,加上聘用的看護個人能力及性格也有差異,雇主的管理方式就會跟著不同。每位雇主就像被老天爺突然開了一個玩笑,得像唐僧踏上取經之路,是否能獲得一位孫悟空或是沙悟淨型的看護,真的或多或少純看運氣。若是不幸遇上豬八戒型的看護,那麼就得加強訓練及要求,並協求仲介公司的專業幫助了。

雖然不知道陪伴老病家人走上人生最後一段路,得走多久,但遇上了就只能去勇敢面對,一起和看護將日子過得平順一些了,彼此加油。

2017-04-04

Visual Studio 2017 Update

VS2017在Offline Installation離線安裝未能提供ISO光碟檔被人詬病,不過它的優點是若只開發C++ Native程式,只需要下載安裝3GB空間而己,而不需要一般的20GB。然後,這理由未能說服離線安裝需求的人,畢竟微軟應該把最常用的Layout組合(C# ASP.NET/WinForm),製成一份20GB ISO檔供離線下載才對。

Create an offline installer for Visual Studio 2017 | Microsoft Docs
https://docs.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio

幸好有熱心網友Myhammad提供離線Layout的RAR壓縮檔供人下載:

Visual Studio 2017 Editions – Google Drive
https://drive.google.com/drive/folders/0B78wbPvH6XGZcFg4bF9LS3QtWk0

VS2017 - Google Drive

然而這種Component模組安裝方式的架構,很適合之後的VS2017 Update更新,加速了Bug修正的周期,以VS2015的更新方式更快速。

Visual Studio 2017 Release Notes
https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes

VS2017 - Update Log

2016-11-24

建立目錄與VSTS Git版控服務的綁定教學

Visual Studio Team Services網站(以下簡稱VSTS)提供Git Private Repository免費空間服務,在VS2015下可以使用Team Explorer與專案建立連結。然而我們的專案目錄通常不只存放一個Solution方案,也會放置專案文件,因此會以上一層目錄為Git Working Directory,就無法使用VS2015的Team Explorer工具來設定了。以下示範如何在Windows系統下不透過VS2015工具,直接綁定某目錄與VSTS Git Repository的綁定教學.

  1. 登入Visual Studio Team Services網站,建立一個以Git版本為主的Team Project目錄。
    網址: https://XXX.visualstudio.com/  (XXX = VSTS申請的名稱)
    Create Team Project
  2. 系統安裝TortoiseGit, 建立一個空目錄ZZZ,在該目錄下按右鍵選擇「Git Clone」功能。
    Git Clone ContextMenu
  3. 設定Git clone設定:
    VSTS的GIT Remote URL網址為:  https://XXX.visualstudio.com/DefaultCollection/_git/YYY (XXX = VSTS申請的名稱, YYY = Project名稱)
    Git Clone Setting
    按下OK後它會進行與遠端VSTS服務的登入驗證及綁定工作。
  4. 成功綁定後,把VS2015的專案目錄移入該ZZZ目錄下,再右鍵選擇「Git Commit」把新目錄寫入VSTS遠端即可。
    Git Commit Git Linked Status
  5. 開啟ZZZ目錄下的任何VS2015 Solution方案檔,專案自動都跟VSTS的Git版控進行良好的結合了。
    VS Solution Explorer
  6. 某些不需要版控的目錄,如obj/, publish/輸出目錄,可以設定「Add to ignore list」。
    Ignore List

2016-10-19

SQL Server版號對照表

SQL Server的版號不只有受主版本及Service Pack (SP)才會異動,平時的Windows Update補丁若有修正SQL Server的,也會改變。下表列出主要的SQL版本號碼,要配合現在DB版本,只要選擇最接近的低版本即可相容。

image

資料來源: http://sqlserverbuilds.blogspot.tw/

2016-10-12

掛載USB隱藏分區(Hidden Partition)

要將PE系統製作至一個USB開機碟時,通常它會分成兩個分區(Partition),分別為下圖編號1的資料區(Data)及及編號2開機區(Boot, Hidden),並且把開機區設定隱藏+活動(Active+Hidden),如此插入USB碟時,系統只會出現Data區。

Partition List

Partition Unhide

要升級PE工具的新版本,一般做法是直接替換開機區內的*.wim (Windows Image Manager)系統映像檔即可。但是開機分區雖能夠取消隱藏,卻無法掛載盤符至系統裏來操作,因為一般分區工具只允許磁碟第1主分區位置才能掛載盤符。為了解決這問題,我們可以使用BOOTICE工具來掛載任一隱藏分區至系統。

操作步驟為:

  1. 開啟BOOTICE工具,選擇「Physical disk > Destination Disk > Parts Manage」,然後選擇
    BOOTICE Parts
  2. 選擇隱藏分區,點擊「Assign Drive Letter」按鈕,即可在系統載掛此分區。
    BOOTICE Assign Drive
  3. 解開新版PE ISO檔,將boot.wim覆蓋掉隱藏區的舊檔,再點擊BOOTICE裏的「Remove Drive Letter」按鈕即可恢復隱藏。
    BOOTICE Remove Drive
  4. 完成隨身碟的PE版本升級。

2016-10-07

鴻象電子式定時器的電池缺點

鴻象電子式定時器是我在2012年於COSTCO購入而接觸使用的電子產品,它採用絕對時間制用來控制夜燈的定時開關很便利,運作一直也相當穩固。發現它的內建充電電池是它的優點也是缺點,只要電池老化或長時間不充電,當電池進入低電位無法復位就整組壞掉了,使用年限約4年。

拆開插座內部,其電路版的結構很乾淨紮實,通常穩固的電子產品看電路版就知品質了。箭頭處應該是充電電池的位置,但它被焊死無法更換了。以這個產品的紮實感應該是可以用得更久,可惜受限在一個電池壽命非得棄全身,相當可惜。

image

不禁讓人思考,很多電子產品的設計,廠商會以商業考量用某短壽命零件的避免產品長壽命,但這就像一個健康的青壯年人死於某小器官的癌症,以生命本身的價值非常不忍心,而電子產品的丟棄則不環保。雖然很多人都會用價錢/年限比來衡量值不值得,但假如一個產品的設計不要綁死在短壽命的零件上,或許能讓USER更相信電子產品的穩定性,如同大同電鍋能用上十年前不壞而獲得用戶喜愛。

每種產品設計都有其考量立場,就像手機使用不能拆換電池的設計,有其輕薄機身構造優點,及減低頻繁拆換電池可能造成的損傷之理由,但廠商至少能像蘋果手機保證官方電池換修的年限,會更合理一些。當我們在設計創造作品時,常以「生命會找到出路」這句話來讚嘆生命變化的驚喜,但若在裏頭埋入一個顯著短期必死的炸彈,這等於是扼殺了這句話的精神,共勉之。