程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 字符串-網頁上傳文件時怎麼把文件加密後上傳

字符串-網頁上傳文件時怎麼把文件加密後上傳

編輯:編程綜合問答
網頁上傳文件時怎麼把文件加密後上傳
我想在html頁面選擇一個上傳文件,在js獲得這個文件的信息,然後對這個文件進行對稱加密後再上傳。初步想法是把文件是以數據流發到後台再生成一個完整文件的,但怎麼獲得這個文件的數據流?另一個想法是把先把文件轉成字符串,然後加密,再把字符串生成文件2,然後上傳,但怎樣才能轉成字符串並且把加密的字符串轉回文件?

請大神解答,感激不盡

最佳回答:


在Web架構中如果要保密, 最簡單最安全的方法是使用HTTPS協議。

用js獲取文件數據流是可以的, 但需要新版浏覽器的支持, 通過 HTML5 File API 可以作到。 生成文件2可能有些麻煩, 這需要用戶額外的授權。 通過 XMLHttpRequest (Level 2) 可以直接上傳二進制數據。

最復雜的是對稱加密, js 缺乏內置的加密API, 自己實現雖不是完全不可能,但恐怕難度較大,或許網絡上有現成的開源代碼, 可以去找一找。

關鍵問題是, 如何分發密鑰? 通過明文分發肯定是沒有意義的, 可能的方案是: 使用用戶登錄的密碼做為種子密鑰, 但隨之而來的問題是如何保護用戶的密碼(不能明文發送), 所以這又需要使用kerberos之類的方案解決。

最終HTTPS方案完美勝出

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved