<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Adler%E9%8B%AA%E4%B8%89%E5%8D%81%E4%BA%8C</id>
	<title>Adler鋪三十二 - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Adler%E9%8B%AA%E4%B8%89%E5%8D%81%E4%BA%8C"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Adler%E9%8B%AA%E4%B8%89%E5%8D%81%E4%BA%8C&amp;action=history"/>
	<updated>2026-05-16T16:19:40Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=Adler%E9%8B%AA%E4%B8%89%E5%8D%81%E4%BA%8C&amp;diff=491157&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Adler%E9%8B%AA%E4%B8%89%E5%8D%81%E4%BA%8C&amp;diff=491157&amp;oldid=prev"/>
		<updated>2025-08-23T21:55:26Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Adler 鋪三十二&amp;#039;&amp;#039;&amp;#039;是一種校驗演算法，由馬克 ・ 阿德勒佇一九九五年發明，是嘿 Fletcher 校驗的一種改進。佮長度的迴箍傷長的校驗相比，伊這有可靠性來換取速度（閣較傾向後者）。 Adler 鋪三十二比 Fletcher 鋪十六更加可靠，比 Fletcher 鋪三十二可靠性小差。&lt;br /&gt;
&lt;br /&gt;
==歷史==&lt;br /&gt;
&lt;br /&gt;
Adler 學三十二校驗佮是廣泛使用的 zlib 壓縮庫的一部份，因為兩个攏是由馬克 ・ 阿德勒開發的。佇咧 rsync 工具內底使用矣 Adler 抹三十二的「踅踅雜鬥」版本。&lt;br /&gt;
&lt;br /&gt;
==演算法==&lt;br /&gt;
&lt;br /&gt;
Adler 鋪三十二校驗佮是通過計算兩个十六位元的校驗佮 _ A _ 和 _ B _，並且共𪜶的位連做一个三十二位元整數來得著的。_ A _ 是流中所有一个元組的總和加一，而且 _ B _ 是每一步驟中 _ A _ 的各个值的總和。&lt;br /&gt;
佇咧 Adler 抹三十二執行開始的時，_ A _ 予人初初化做一，_ B _ 為零。以模六馮五千五百二十一（小於兩百十六的上大質數）進行求和。位元組以網路順序儲存（位元組序）， _ B _ 占領上懸的兩个位元組。&lt;br /&gt;
&lt;br /&gt;
該函式會當表示為&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
_ A _=一 + _ D _ 一 + _ D _ 二 + . . . + _ D _ n ( mod 六嬸五千五百二十一 )&lt;br /&gt;
&lt;br /&gt;
_ B _=( 一 + _ D _ 一 ) + ( 一 + _ D _ 一 + _ D _ 二 ) + . . . + ( 一 + _ D _ 一 + _ D _ 二 + . . . + _ D _ n ) ( mod 六嬸五千五百二十一 )&lt;br /&gt;
=_ n _ × _ D _ 一 + ( _ n _ − 一 ) × _ D _ 二 + ( _ n _ − 二 ) × _ D _ 三 + . . . + _ D _ n + _ n _ ( mod 六嬸五千五百二十一 )&lt;br /&gt;
&lt;br /&gt;
_ Adler 鋪三十二 _ ( _ D _ )=_ B _ × 六嬸五千五百三十六 + _ A _&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
其中 _ D _ 是欲計算校驗佮的位元組串，_ n _ 是 _ D _ 的長度。&lt;br /&gt;
&lt;br /&gt;
==範例==&lt;br /&gt;
&lt;br /&gt;
ASCII 字捾「` Wikipedia `」的 Adler 鋪三十二校驗佮計算如下：&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
A=九百二十=零 x 三百九十八 ( 十六進位 )&lt;br /&gt;
B=四千五百八十二=零 x 十一 E 六輸出=零 x 十一 E 六 &amp;lt; &amp;lt; 十六 + 零 x 三百九十八=零 x 十一 E 六桱空三百九十八&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
佇這个例中，取模運算無效果，因為無一个值達到六石五千五百二十一。&lt;br /&gt;
&lt;br /&gt;
==佮 Fletcher 校驗佮的較==&lt;br /&gt;
&lt;br /&gt;
兩種演算法之間的第一个區別，是 Adler 鋪三十二和是以一个質數為模數計算的，而且 Fletcher 佮是以二十四孵一、二十八孵一抑是兩百十六孵一為模（攏著愛看所使用的位數）為模數算的，𪜶攏是複合數。使用質數予得 Adler 抹三十二會用得揣著 Fletcher 無法度檢測著的某一寡位元組合中的差異。&lt;br /&gt;
&lt;br /&gt;
第二个區別，嘛是對演算法的速度影響上大的區別，是 Adler 佮八位元的位元組頂懸算的，毋是十六位元的字上，迵天天次數增加一倍。這愛對十六位元字對齊資料，Adler 鋪三十二校驗佮開的時間是 Fletcher 校驗佮的一人五倍到二倍。對位元組對齊的資料，Adler 鋪三十二比正確實現的 Fletcher 的校驗佮（比如講，HDF 中的實現）要緊。&lt;br /&gt;
&lt;br /&gt;
==實現範例==&lt;br /&gt;
&lt;br /&gt;
佇咧 C 語言內底，一个低效但是直接的實現方式是：&lt;br /&gt;
&lt;br /&gt;
請參閱 zlib 原始碼，了解閣較有效的實現，伊需要對逐个位元組來進行一擺的取數和兩擺的加法，模數運算延後，並每隔幾千个位元組計算兩改的數，這種技術上早是佇一九八八年予人發現用於 Fletcher 校驗。` js-adler 三十二 ` 嘛提供類似的最佳化，增加一个技巧，即推遲計算六馮五千五百三十六馮六馮五千五百二十一當著的「十五」，按呢模數運算就會變閣較緊：會當證明 ` ( ( a &amp;gt; &amp;gt; 十六 ) * 十五 + ( a &amp;amp; 六嬸五千五百三十五 ) )   % 六嬸五千五百二十一 ` 比較是簡單的積累。&lt;br /&gt;
&lt;br /&gt;
==優點佮缺點==&lt;br /&gt;
&lt;br /&gt;
* 佮標準 CRC 炕三十二仝款，Adler 鋪三十二校驗佮真容易假造，因此佇咧防止故意修改方面是無安全的。&lt;br /&gt;
* 佇真濟平台頂，伊攏比 CRC 鋪三十二閣較緊。&lt;br /&gt;
* Adler 枋三十二對於干焦幾百个位元組的簡訊方面有一个弱點，因為這類訊息的校驗佮對三十二个會當用位的崁率是足低的。&lt;br /&gt;
&lt;br /&gt;
==較弱點==&lt;br /&gt;
&lt;br /&gt;
對簡訊來講，Adler 抹三十二是足弱的，因為總和 _ A _ 袂曉轉踅（英語：Wrap，即整數溢了後的處理）。 一百二十八个元組訊息的上大是三分之一二千六百四十，低於取模操作所使用的值六增五千五百二十一，意味注文大約有一半的輸出空間無使用，並且使用部份內底的分布嘛是無齊勻。延伸的解說會當佇 RFC  三千三百空九中揣著，伊規定流控制傳輸協定 SCTP 使用 CRC 三十二 C 毋是 Adler 鋪三十二。對較細的增量更改，Adler 炕三十二嘛予人證明變化足弱的，並且對一个共同的字首佮連紲的數字生的字串嘛足弱的（譬如講由典型碼產生器自動生成的標籤名）。&lt;br /&gt;
&lt;br /&gt;
==參見==&lt;br /&gt;
&lt;br /&gt;
* 雜鬥函式列表&lt;br /&gt;
&lt;br /&gt;
==註跤==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* RFC  一千九百五十–規範，包含範例 C 代碼&lt;br /&gt;
* ZLib–佇咧 adler 三十二 . c 中實現矣 Adler 抹三十二演算法&lt;br /&gt;
* Chrome–佇咧 adler 三十二 \ _ simd . c 中使用 SIMD 實現的 Adler 抹三十二演算法&lt;br /&gt;
* RFC  三千三百空九–有關係簡訊弱點佮 SCTP 相關改做的資訊&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>