主頁 > 軟體工程 > 你好大神,我想把表格資料加密后上傳到云盤,以保證資料安全。

你好大神,我想把表格資料加密后上傳到云盤,以保證資料安全。

2020-09-15 20:30:59 軟體工程

你好大神,我想把表格資料加密后上傳到云盤,以保證資料安全。
麻煩做一個.xlsm的檔案,我小白白一個,請代碼加詳細注釋,萬分感謝,感激涕零!
思路是:
一、加密
1、把數值轉換為ASCLL碼賦值給陣列 i
2、把我手動輸入的口令轉換成ASCLL碼賦值給陣列 a
3、把陣列 i 和 陣列 a 做矩陣運算后賦值給陣列 x
4、把陣列 x 轉換為文本

二、解密

逆運算

資料列包含一下內容:
姓名        手機號        身份證號 銀行卡號        密碼        家庭住址


ps:數值中包含字母,符號,漢字,拆分后轉碼

這種方法能保證資料泄漏后的安全嗎?

uj5u.com熱心網友回復:

只要加密演算法足夠安全、密鑰復雜度較高,肯定可以保證安全。

想要用Excel檔案來存盤加密后的資料,
那么必須用可逆加密演算法對明文進行加密、再把密文轉換成BASE64編碼寫回相應的單元格。
“解密操作”自然就是對應的“逆程序”了。
加密解密主要用DES演算法,或AES演算法,當然也可選用其它的。

你用“xlsm檔案”,就是想把加密、解密程序的代碼都寫在檔案中吧?
這樣其實不太好!
就算你“密碼保護VBA工程”,也有方法很容易的越過這道“屏障”;
代碼一暴露,你的密文被破解的可能性就增加了一些,安全度就有所降低了。

要想保險,就必須把加密、解密的程式,與存盤資訊的檔案分離。
這樣:用你的“專用軟體”,打開“明文檔案”進行加密、輸出加密檔案;或者打開“密文檔案”,進行解密查看原文。
只要你的“加密、解密軟體”不泄露,傳到云盤中的“加密檔案”就基本不用擔心被解密。

思路、方法已經給你說了,代碼還是你自己寫吧。
這個我不想做“義務工”,完整工程代碼,付費的話可以考慮。

uj5u.com熱心網友回復:

樓主可以看一下這兒:
http://blog.sina.com.cn/s/blog_1551057520102wtey.html

這個博客中的內容,就是我以前給某人寫的程式加密后的資訊。
每一行就是一條資訊,包含 登錄埠號、服務器IP地址:埠號 等資訊,并且還有“校驗碼”在內。
你要是“亂輸入的密文”(即使是一串完全合法的BASE64編碼文本),
 經“解密”后不能通過“校驗碼”驗證,那么也是“無效”的資料。
這個博客中,大概有500條吧。

uj5u.com熱心網友回復:

參考 2 樓 Chen8013 的回復:
樓主可以看一下這兒:
http://blog.sina.com.cn/s/blog_1551057520102wtey.html

這個博客中的內容,就是我以前給某人寫的程式加密后的資訊。
每一行就是一條資訊,包含 登錄埠號、服務器IP地址:埠號 等資訊,并且還有“校驗碼”在內。
你要是“亂輸入的密文”(即使是一串完全合法的BASE64編碼文本),
 經“解密”后不能通過“校驗碼”驗證,那么也是“無效”的資料。
這個博客中,大概有500條吧。

能否把這個程式發出來學習學習呀?

uj5u.com熱心網友回復:

參考 3 樓 u014749730 的回復:
Quote: 參考 2 樓 Chen8013 的回復:

樓主可以看一下這兒:
http://blog.sina.com.cn/s/blog_1551057520102wtey.html

這個博客中的內容,就是我以前給某人寫的程式加密后的資訊。
每一行就是一條資訊,包含 登錄埠號、服務器IP地址:埠號 等資訊,并且還有“校驗碼”在內。
你要是“亂輸入的密文”(即使是一串完全合法的BASE64編碼文本),
 經“解密”后不能通過“校驗碼”驗證,那么也是“無效”的資料。
這個博客中,大概有500條吧。

能否把這個程式發出來學習學習呀?

呵呵,這個嘛……你如何“學習”呢!
要是說“發個exe程式”,你肯定也是什么都“學”不到;
要是把代碼發出來,這根本就是“你想多了”……

這么說吧:
那些“BASE64編碼文本”,每一行經“解密”(就是“BASE64轉二進制序列”)后,就包含了“密鑰(偽)”和密文。
當然這個“密鑰”肯定不是真正的密鑰,而是要這組資料再經過一個特定的變換演算法,才得到“真正的密鑰”;
  只是加密和解密,都是以這組“偽密鑰”為依據,再“算”出真正的密鑰而已。
這兒的“偽密鑰”就是加密時,隨機產生的幾位元組資料;因此每一條密文的密鑰都是不同的!
因為是“隨機產生的密鑰”,所以每條密文的“真正密鑰”是什么,都是“不知道”的(只能按我的特定演算法算出來)。
不過,你以為能“算”出解密密鑰就OK了? 呵呵,圖樣……
按我2樓說的內容:IP地址、埠號、再加上“偽密鑰”,根本就沒幾個位元組資料,“加密”后也同樣沒幾個位元組;
  再加上“偽密鑰資料”,照樣也沒多少資料。
但是,你可以看到博客中的“記錄”有的長、有的短;BASE64解密后長的是54位元組、短的是30位元組。
其實是因為我把“IP地址(4位元組)”嵌入到一串隨機資料中(位置隨機、“亂數”起干擾作用)。
所以,在“密文”解密之后,看起來照樣是一串“雜亂無章”的位元組資料。
可以說,即使把“明文”給你看,你也不知道如何提取“有效資料”出來。

當然,我這兒說了這么多,高手肯定可以從博文中猜測到我的“核心加密演算法”是什么、偽密鑰是多少位元組了。
雖然那些資料資訊,幾乎是“對任何人”來說都沒有一丁點兒價值(想攻擊他的服務器的除外),但我也不會透露具體細節。
如果我把“演算法細節”都說了,那么就是“誰都可以解密”的了。
只要這個“細節”不透露出來,可以說:除我之外,沒有誰能解密! 
(因為加密演算法、BASE64編碼,都是標準的、公開的;從“偽密鑰”算出真正密鑰、以及“資料混淆法”就是“機密”了)

uj5u.com熱心網友回復:

參考 4 樓 Chen8013 的回復:
Quote: 參考 3 樓 u014749730 的回復:

Quote: 參考 2 樓 Chen8013 的回復:

樓主可以看一下這兒:
http://blog.sina.com.cn/s/blog_1551057520102wtey.html

這個博客中的內容,就是我以前給某人寫的程式加密后的資訊。
每一行就是一條資訊,包含 登錄埠號、服務器IP地址:埠號 等資訊,并且還有“校驗碼”在內。
你要是“亂輸入的密文”(即使是一串完全合法的BASE64編碼文本),
 經“解密”后不能通過“校驗碼”驗證,那么也是“無效”的資料。
這個博客中,大概有500條吧。

能否把這個程式發出來學習學習呀?

呵呵,這個嘛……你如何“學習”呢!
要是說“發個exe程式”,你肯定也是什么都“學”不到;
要是把代碼發出來,這根本就是“你想多了”……

這么說吧:
那些“BASE64編碼文本”,每一行經“解密”(就是“BASE64轉二進制序列”)后,就包含了“密鑰(偽)”和密文。
當然這個“密鑰”肯定不是真正的密鑰,而是要這組資料再經過一個特定的變換演算法,才得到“真正的密鑰”;
  只是加密和解密,都是以這組“偽密鑰”為依據,再“算”出真正的密鑰而已。
這兒的“偽密鑰”就是加密時,隨機產生的幾位元組資料;因此每一條密文的密鑰都是不同的!
因為是“隨機產生的密鑰”,所以每條密文的“真正密鑰”是什么,都是“不知道”的(只能按我的特定演算法算出來)。
不過,你以為能“算”出解密密鑰就OK了? 呵呵,圖樣……
按我2樓說的內容:IP地址、埠號、再加上“偽密鑰”,根本就沒幾個位元組資料,“加密”后也同樣沒幾個位元組;
  再加上“偽密鑰資料”,照樣也沒多少資料。
但是,你可以看到博客中的“記錄”有的長、有的短;BASE64解密后長的是54位元組、短的是30位元組。
其實是因為我把“IP地址(4位元組)”嵌入到一串隨機資料中(位置隨機、“亂數”起干擾作用)。
所以,在“密文”解密之后,看起來照樣是一串“雜亂無章”的位元組資料。
可以說,即使把“明文”給你看,你也不知道如何提取“有效資料”出來。

當然,我這兒說了這么多,高手肯定可以從博文中猜測到我的“核心加密演算法”是什么、偽密鑰是多少位元組了。
雖然那些資料資訊,幾乎是“對任何人”來說都沒有一丁點兒價值(想攻擊他的服務器的除外),但我也不會透露具體細節。
如果我把“演算法細節”都說了,那么就是“誰都可以解密”的了。
只要這個“細節”不透露出來,可以說:除我之外,沒有誰能解密! 
(因為加密演算法、BASE64編碼,都是標準的、公開的;從“偽密鑰”算出真正密鑰、以及“資料混淆法”就是“機密”了)

首先非常感謝你對我的耐心解答,告訴我思路,但我是小白白一個,還是出不了師呀,你可以把你的演算法修改了嘛,這樣就是一個示例了呀。我就是好想把這個問題解決了,要不我就只能存了U盤里隨身攜帶了,但又害怕丟失或損壞

uj5u.com熱心網友回復:

用不著這么費事。買一個支持檔案加密的安全 U 盤就可以。

我們的一個用戶出產這樣的 U 盤。方案都是我們提供的。可以方便地將 PC 上的任何檔案加密解密。而且,密鑰是在安全芯片內,是確定安全的。

uj5u.com熱心網友回復:

上傳云盤還要加密,用RAR壓縮一下加個夠長的密碼就行了。
不要太指望xlsm的工程加密,那玩意防君子不防小人。
你把xlsm的工程加密保存,然后綴改成.zip,解壓開來,可以找到一個bin檔案,用UE啥的看看,代碼明文就在那里擺著,你的演算法一目了然,解密你的資料也很輕松。
自己神叨叨的弄一些所謂自創的加密演算法,其實大部分都很弱啦。用公開成熟的標準加密演算法,都是久經考驗,解密都是被數學證明困難或者沒法被數學證明容易的。

uj5u.com熱心網友回復:

如果要U盤加密啥的,用微軟的bitlock賊方便,加密強度也夠,win7以上支持,你還在用XP的話另論

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/49984.html

標籤:VBA

上一篇:妹子繼續來求各位小哥哥的幫忙了!!很急很急

下一篇:請問有加密一個檔案夾的思路嗎?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more