iT邦幫忙

0

敏感資料加密處理

想藉gmail寄送郵件
程式內需要輸入帳密
但由於程式需要放在共用的電腦

https://i.imgur.com/aYDeHLR.jpg

想請問該如何把圖中
gmail_user、gmail_password的部分加密
讓別人無法從source code中看到帳密資訊
謝謝~

淺水員 iT邦研究生 4 級 ‧ 2019-12-22 23:18:27 檢舉
目前看起來只能防不懂程式的人。除非中間有個過程是需要使用者輸入密碼的地方,那樣會比較好做出不容易破解的方式。

稍微懂程式碼的,把程式碼複製回去,然後自己在21行前面插入
print(gmail_password) 就看得到了
不管怎麼加密都沒用
froce iT邦大師 1 級 ‧ 2019-12-23 09:45:23 檢舉
python就不適合這種情境。
乖乖去學編譯語言像C/C++、GO這些比較穩。
13
raytracy
iT邦大神 1 級 ‧ 2019-12-23 01:02:33
最佳解答

Gmail 可以透過 OAuth2 協定進行驗證, 用 Token 不是用帳密:
OAuth 2.0 Mechanism

你要先去 Developer Console 申請 Project API 和 Auth:
Using Gmail with XOAUTH2
然後就可以在 PHP 內用 OAuth Token 發信...

這裡有各種語言透過 Google API 發信的範例:
Send Emails with Gmail API

Token 被人看到沒關係, 因為只知道 Token 無法得知你的 Gmail 帳號, 所以你的帳號密碼都不會外洩...

你也可以用更安全的方法去使用 Google API, 例如 JWT, 然後把敏感資料存放在你自己帳號的環境變數中, 這樣別人即使登入系統, 也無法取得你的資訊 (當然, 前提是你們不能共用登入帳號):
How to authenticate to any Google API

draguitar iT邦新手 5 級 ‧ 2019-12-23 08:11:01 檢舉

感謝分享

2
dragonH
iT邦超人 5 級 ‧ 2019-12-22 23:24:48

把那些資料寫在另一個 python script

然後在你這支 script 引入

e.g.

config.py

gmail_user = 'xxxx@gmail.com'
gmail_password = 'xxxx'

在你的這支 script

import config as config

config.gmail_user # 帳號
config.gmail_password # 密碼

應該頂多只能這樣

基本上別人有辦法拿到 source code

怎麼加密應該都沒用

選我正解

2
浩瀚星空
iT邦超人 1 級 ‧ 2019-12-23 11:40:20

其實,要解決的並不是加密啥的特性。

而是「共用電腦」這件事。
像 raytracy大 教你用的gmail的Token方式。

其實就是讓驗証的東西不在「共用電腦」處理。

今天是還好gmail有這樣的東西。但如果未來是要連其它東西呢?
又要怎麼處理呢?

我要發表回答

立即登入回答