當前位置:首頁 » 操作系統 » 手寫哈希演算法

手寫哈希演算法

發布時間: 2024-04-01 13:55:09

Ⅰ 鐢靛瓙絳懼悕鏄鎬庢牱鏈夋晥鍙栦唬鎵嬪啓絳懼瓧鐩栫珷鐨勶紵

鐢靛瓙絳懼悕鍙栦唬鎵嬪啓絳懼悕鐩栫珷錛屼富瑕佹湁涓ょ偣鍘熷洜錛

  • 鐢靛瓙絳懼悕鍙浠ラ氳繃鎶鏈鎵嬫靛疄鐜版墜鍐欑懼瓧鐩栫珷鍚岀瓑鐨勬硶寰嬫晥鍔

  • 浣跨敤鐢靛瓙絳懼悕姣旀墜鍐欑懼瓧鐩栫珷鎷ユ湁緇濆圭殑浼樺娍銆

鑰岄夋嫨絎涓夋柟鐢靛瓙絳懼悕騫沖彴鏄瀹炵幇浠ヤ笂涓ょ偣鐨勬渶浣抽夋嫨銆

銆婄數瀛愮懼悕娉曘嬪圭數瀛愮懼悕鐨勫畾涔夋槸錛氣滄暟鎹鐢墊枃涓浠ョ數瀛愬艦寮忔墍鍚銆佹墍闄勭敤浜庤瘑鍒絳懼悕浜鴻韓浠藉苟琛ㄦ槑絳懼悕浜鴻ゅ彲鍏朵腑鍐呭圭殑鏁版嵁鈥濄

涔熷氨鏄璇寸﹀悎娉曞緥瑙勫畾鐨勭數瀛愮懼悕錛屾墠鏄鍙浠ユ浛浠d紶緇熺懼悕鐩栫珷鐨勫彲闈犵殑鐢靛瓙絳懼悕銆

銆婄數瀛愮懼悕娉曘嬬13銆14鏉¤勫畾錛氱數瀛愮懼悕鍚屾椂絎﹀悎涓嬪垪鏉′歡鐨勶紝瑙嗕負鍙闈犵殑鐢靛瓙絳懼悕錛岀數瀛愬悎鍚屾晥鍔涚瓑鍚岀焊璐ㄥ悎鍚岋紝絳劇講鍚堣勬湁鏁堛傚叾瀵瑰簲娉曞緥縐戞妧濡備笅錛

(涓)鐢靛瓙絳懼悕鍒朵綔鏁版嵁鐢ㄤ簬鐢靛瓙絳懼悕鏃訛紝灞炰簬鐢靛瓙絳懼悕浜轟笓鏈夛細浜鴻劯鐢熺墿縐戞妧璇嗗埆銆侀摱琛屽崱瑕佺礌絳夊氶噸鎶鏈鎵嬫靛疄鍚嶈よ瘉錛岀『淇濋佸彂鐢靛瓙絳懼悕涓轟笓浜烘墍鏈夛紱

(浜)絳劇講鏃剁數瀛愮懼悕鍒朵綔鏁版嵁浠呯敱鐢靛瓙絳懼悕浜烘帶鍒訛細鍔犲瘑鐧婚檰錛岄勭暀鎵嬫満闅忔満鍔ㄦ佸瘑鐮佺『淇濈劇講琛屼負涓虹劇講浜烘帶鍒訛紱

(涓)絳劇講鍚庡圭數瀛愮懼悕鐨勪換浣曟敼鍔ㄨ兘澶熻鍙戠幇錛氬浗瀹舵潈濞佹満鏋勯佸彂CA璇佷功錛屽苟紜淇濊瘉涔︽寚綰瑰敮涓鎬у瀷錛屼嬌綃℃敼鏃犳晥騫跺彲璇嗗埆絳懼悕鐪熷疄鏈夋晥鎬э紱

(鍥)絳劇講鍚庡規暟鎹鐢墊枃鍐呭瑰拰褰㈠紡鐨勪換浣曟敼鍔ㄨ兘澶熻鍙戠幇銆傚彲闈犵殑鐢靛瓙絳懼悕涓庢墜鍐欑懼悕鎴栬呯洊絝犲叿鏈夊悓絳夌殑娉曞緥鏁堝姏錛氬悎鍚屾枃妗h漿鎹涓洪槻綃℃敼PDF錛屽姞鐩栧浗瀹舵巿鏃朵腑蹇冩椂闂存埑錛屽苟鐢辨潈濞佸徃娉曢壌瀹氫腑蹇冦佺涓夋柟騫沖彴鑱斿悎瀛樿瘉錛屽悎鍚岀湡瀹炴у彲鏍¢獙銆

浠庡徃娉曞疄璺墊潵鐪嬶紝娉曞畼鍙浠ヤ粠鑰冨療鐢靛瓙絳懼悕鏄鍚﹀睘浜庣懼悕浜轟笓鏈夊拰鎺у埗銆佽冨療鍦ㄧ劇講鏁版嵁鐢墊枃鏃訛紝鏁板瓧璇佷功鏄鍚︾敱鐢靛瓙絳懼悕浜烘帶鍒躲佽冨療鐢靛瓙絳懼悕鐨勬妧鏈鏂規堬紙濡傛灉閲囩敤浜嗘暟瀛楃懼悕鎶鏈錛屼竴鑸鍙璁ゅ畾涓哄彲闈犵殑鐢靛瓙絳懼悕錛変笁涓鏂歸潰鍒ゆ柇鏄鍚︾﹀悎涓婅堪鍙闈犵殑鐢靛瓙絳懼悕瑕佺礌銆

絎涓夋柟鐢靛瓙絳懼悕鈥濆尯鍒浜庝紶緇熲滅數瀛愮懼悕鈥濓紝閲囩敤SaaS鐨勪氦浠樻ā寮忥紝鏃㈤檷浣庝簡浼佷笟鐢ㄦ埛鐨勪嬌鐢ㄩ棬妲涳紝鍙堢緝鍑忎簡閮ㄧ講鏃墮棿鍜屾垚鏈錛屼笖娌℃湁瓚呭嚭鈥滃彲闈犵殑鐢靛瓙絳懼悕鈥濆洓瑕佺礌鐨勮寖鍥淬

絎涓夋柟鐢靛瓙絳懼悕騫沖彴瀛樺偍鐢靛瓙鍚堝悓鏇村姞渚挎嵎銆佹彁鍗囧悎鍚岀劇講銆佹祦杞絳夋柟闈㈢殑鏁堢巼銆佸簲鐢ㄧ數瀛愮懼悕絳捐㈠悎鍚岃兘澶熻妭鐪佹椂闂淬佸簲鐢ㄧ數瀛愮懼悕鐨勫悎鍚屽氶噸澶囦喚鍧囨湁娉曞緥鏁堝姏銆佹洿鏈夋晥闃叉淇℃伅琚綃℃敼銆佹彁鍗囧瓨鍌ㄧ殑瀹夊叏鎬с佽妭鐪佸揩閫掕垂鐢ㄦ垚鏈鍜岀焊寮犳垚鏈銆佹彁鍗囦紒涓氬艦璞°佺嚎涓婂瓨鍌ㄧ數瀛愬悎鍚岃妭鐪佺墿鐞嗙┖闂淬佸姪鍔涗紒涓氫簰鑱旂綉鍖栬漿鍨嬨佸搷搴斾笂綰ч嗗艱佹眰錛屾弧瓚抽嗗肩Щ鍔ㄧ懼悕鐨勯渶奼傜瓑浼楀氫紭鍔匡紝璁╃數瀛愮懼悕閫愭笎璧拌繘澶т紬鐨勮嗛噹錛屽湪鍚勪釜棰嗗煙鍚勪釜搴旂敤鍦烘櫙涓姝d竴姝ユュ彇浠d紶緇熺殑絳懼悕鐩栫珷銆

Ⅱ 電子合同里的電子簽名是什麼原理

簡單來說,電子簽名是利用哈希演算法加密演算法實現的電子文件上直接簽字、蓋章的技術。為了保障簽署後的電子文件具備法律有效性,使用電子簽名簽署後的電子文件還需要具備簽署身份可識別、簽署內容不可篡改的特性。

但是,通過上述技術名詞解釋並不能直觀、易懂的說明電子簽名的原理,以下是通過還原電子簽名簽署的過程簡介實現原理:

場景:由於業務需要,你和我需要簽署一份合作協議。為方便起見,你將擬好的電子版合同文本在線發送給我簽署。

怎樣確保合同只有我可查看且不被他人惡意竊取?我又怎樣才能確定文件的發送人就是你呢?

關鍵點1:公鑰私鑰登場

為了滿足電子合同內容保密性和發送人認證的要求,我們了解到非對稱加密的加密方式。

  • 非對稱加密:具有唯一對應的一對秘鑰,一個公鑰一個私鑰,公鑰所有人可見,而私鑰僅自己可見。

  • 非對稱加密具有這樣的特性:用公鑰加密的文件只能用私鑰解密,而私鑰加密的文件只能用公鑰解密。

發送合同時,你將擬好的電子合同使用自己的私鑰加密後發送;接收合同時,如果能夠使用你的公鑰解密,則說明這份文件就是你發送的。

但是,我怎麼才能知道你的公鑰呢?

關鍵點2:政府出了個CA來幫忙

我了解到,政府授權了一個權威機構叫CA,可以提供網路身份認證的服務。

  • CA(Certificate Authority):全稱證書管理機構,即數字證書的申請、簽發及管理機關。其主要功能為:產生密鑰對、生成數字證書、分發密鑰、密鑰管理等。

  • 數字證書:是由CA機構頒發的證明,它包含公鑰、公鑰擁有者名稱、CA的數字簽名、有效期、授權中心名稱、證書序列號等信息,可以通俗為理解個人或企業在「網路身份證」。

我向CA機構申請獲取你的公鑰,使用它對電子合同解密,解密成功則說明發送人就是你。文件發送人的身份確認了,那怎麼保障電子合同傳輸過程中未被篡改呢?

關鍵點3:哈希兄弟出場

有技術人員推薦了哈希演算法(摘要演算法),可以證明電子合同傳輸過程中是否被篡改。

  • 哈希演算法:通過加密演算法將文本內容生成為一段代碼,即信息摘要,其主要特徵是加密過程不需要密鑰,經加密的數據無法被反向還原。也就是說,只有兩份完全相同的合同經過相同的哈希演算法才能得到相同的摘要。

發送合同時,你將電子合同原文和經哈希運算的摘要一起發送給我接收合同時,通過對合同原文進行同樣的哈希運算得到新的摘要,對比兩組摘要是否一致即可證明我接收的文件是否被篡改

但是,如果傳輸過程中文件原文與摘要同時被替換了怎麼辦?

關鍵點4:對稱加密來幫忙

除了上述的哈希演算法、非對稱加密、CA,為確保合同由發送到接收滿足三個要求,即:由你發送、只能發給我、不能被篡改,我們還需要應用新的加密方式:對稱加密。

  • 對稱加密:採用單鑰密碼系統的加密方法,信息的加密和解密只能使用同一個密碼。

發送文件時:

1、你通過哈希運算得到原文摘要並使用私鑰對其加密,得到你的數字簽名,再將數字簽名和合同原文進行對稱加密,得到密文A——對原文加密

2、再通過CA獲得我的公鑰,對上述步驟中對稱加密的秘鑰進行非對稱加密,即我的「數字信封」——對秘鑰加密

3、將密文A和我的數字信封一起發送給我

  • 數字簽名:用哈希演算法提取出源文件的摘要並用發送人的私鑰進行加密後的內容。

  • 數字信封:用接收方的公鑰加密對稱秘鑰」,這就叫「給乙的數字信封。

接收文件時:

1、我使用自己的私鑰解密數字信封得到對稱秘鑰——能解開,說明是發給我的

2、再使用對稱秘鑰解密密文A,得到帶有你的數字簽名的原文

3、使用你的公鑰解密你的數字簽名,得到簽名中的原文摘要——能解開,說明發送者是你

4、使用相同的摘要演算法獲取原文摘要並與解密簽名中的摘要對比——摘要一致,則說明原文沒有被篡改

除了文件內容不可篡改,精確記錄簽署時間固定合同生效期限也十分重要,網路環境中怎樣怎麼確保合同簽署時間不可篡改呢?

關鍵點5:時間戳來證明

我又請教了專家,原來我們國家還有專門確定時間的法定授時中心,它可以在我們簽署的文件上加蓋「時間印跡」,即時間戳。

  • 時間戳(time-stamp):書面簽署文件的時間是由簽署人自己寫上,而數字時間戳則由第三方認證單位(DTS)添加,以DTS收到文件的時間為依據,更精準、更有公信力。

至此,我們簽合同的時間精準記錄、合同內容不可篡改、雙方身份也真實有效,這下沒問題了!但是,簽署完的電子合同怎麼存儲呢?不管是哪一方簽署,日後產生糾紛都難免對合同存儲期間的安全性產生質疑。

關鍵點6:找個權威第三方來存證

聽說有專門的第三方電子數據存證機構,可以保存已簽署的電子合同數據,當用戶雙方對合同內容產生爭議時可申請出具具有公信力的證明。

合同簽署的最後一個問題:存儲問題也解決了!但唯一不足之處就是:簽署過程太麻煩!為保障電子合同有效性,我們用到了非對稱加密、哈希運算、時間戳等技術,還要CA機構、公證處等機構協助;

怎樣更簡單快捷地簽一份有效的電子合同呢?

關鍵點7:選擇可靠的第三方電子合同平台

根據《電子簽名法》規定,使用可靠的電子簽名簽署的電子合同具備與手寫簽字或蓋章的紙質合同同等的法律效力。

  • 根據《電子簽名法》規定,符合下列條件的,視為可靠的電子簽名:

1)電子簽名製作數據用於電子簽名時,屬於電子簽名人專有

2)簽署時電子簽名製作數據僅由電子簽名人控制

3)簽署後對電子簽名的任何改動能夠被發現

4)簽署後對數據電文內容和形式的任何改動能夠被發現

結合上述電子合同簽署過程,我們可歸納總結有效的電子合同應關注以下幾個核心點:內容保密性、內容防篡改、明確簽訂身份、明確簽訂時間。

同時,為保障電子合同作為書面形式的證據能力,合同簽署全程還應當由權威第三方機構存儲公證。

商務部在《電子合同在線訂立流程規范》指出:「通過第三方(電子合同服務提供商)的電子合同訂立系統中訂立電子合同,才能保證其過程的公正性和結果的有效性」。

綜上,就是電子簽名各個環節中需涉及的實現原理。

Ⅲ 鐢靛瓙絳懼悕鏄鎬庢牱鏈夋晥鍙栦唬鎵嬪啓絳懼瓧鐩栫珷鐨

騫墮潪鐢靛瓙絳懼悕鍙栦唬鎵嬪啓絳懼瓧鐩栫珷銆傜數瀛愮懼悕鏄鍙楁椂浠e彂灞曪紝浜х敓鐨勬洿鏂逛究鐨勪駭鐗┿

澶у跺彲鏍規嵁鑷宸辯殑瀹為檯鎯呭喌閫夋嫨鐢靛瓙鍚堝悓鎴栬呯焊璐ㄥ悎鍚岋紝騫墮潪璋佽佸彇浠h皝銆

姣斿傚紓鍦扮劇講錛屽氨鍙浠ラ夋嫨鐢靛瓙絳懼悕錛屼負浼佷笟闄嶆湰澧炴晥銆

銆婄數瀛愮懼悕娉曘嬪圭數瀛愮懼悕鐨勫畾涔夋槸錛氣滄暟鎹鐢墊枃涓浠ョ數瀛愬艦寮忔墍鍚銆佹墍闄勭敤浜庤瘑鍒絳懼悕浜鴻韓浠藉苟琛ㄦ槑絳懼悕浜鴻ゅ彲鍏朵腑鍐呭圭殑鏁版嵁鈥濄備篃灝辨槸璇村悎娉曞悎瑙勭殑鐢靛瓙絳懼悕鍏鋒湁涓庢墜鍐欑懼悕鍚岀瓑鐨勬硶寰嬫晥鍔涖

熱點內容
電腦主機做伺服器下載快不 發布:2024-11-28 00:32:40 瀏覽:386
冷凍存儲盒 發布:2024-11-28 00:21:04 瀏覽:127
達內幼兒編程 發布:2024-11-28 00:21:02 瀏覽:320
我的世界下100層是什麼伺服器 發布:2024-11-28 00:16:50 瀏覽:548
怎麼改配置密碼 發布:2024-11-28 00:16:44 瀏覽:113
伺服器晶元v幾是什麼 發布:2024-11-28 00:15:37 瀏覽:599
家庭麥克需要什麼配置才能用 發布:2024-11-28 00:05:28 瀏覽:384
c語言then是什麼意思 發布:2024-11-27 23:54:07 瀏覽:195
提升訪問 發布:2024-11-27 23:41:39 瀏覽:821
為什麼學習編程 發布:2024-11-27 23:41:37 瀏覽:942