รหัสการตรวจสอบสิทธิ์ข้อความ (MAC)
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
องค์ประกอบพื้นฐาน MAC ช่วยให้คุณยืนยันได้ว่าไม่มีใครได้แทรกแซงข้อมูลของคุณ
ผู้ส่งที่แชร์คีย์แบบสมมาตรกับผู้รับสามารถคํานวณแท็กการตรวจสอบสิทธิ์สําหรับข้อความหนึ่งๆ ซึ่งจะช่วยให้ผู้รับยืนยันได้ว่าข้อความนั้นมาจากผู้ส่งที่คาดไว้และไม่มีการแก้ไข
MAC มีพร็อพเพอร์ตี้ต่อไปนี้
- ความถูกต้อง: การทราบคีย์เป็นวิธีเดียวในการสร้างแท็ก MAC ที่ตรวจสอบได้
- Symmetric: การประมวลผลและการยืนยันแท็กต้องใช้คีย์เดียวกัน
MAC อาจเป็นแบบกำหนดได้หรือแบบสุ่ม ทั้งนี้ขึ้นอยู่กับอัลกอริทึม ปัจจุบัน Tink ไม่ได้ใช้อัลกอริทึม MAC ที่ไม่แน่นอน คุณควรใช้ MAC เฉพาะสําหรับการตรวจสอบสิทธิ์ข้อความเท่านั้น ไม่ใช่เพื่อวัตถุประสงค์อื่นๆ เช่น การสร้างไบต์แบบสุ่มจำลอง (โปรดดูPRF)
หากต้องการใช้รูปแบบที่ไม่สมมาตรแทน โปรดดูลายเซ็นดิจิทัล
เลือกประเภทคีย์
เราขอแนะนำให้ใช้ HMAC_SHA256 สําหรับการใช้งานส่วนใหญ่ แต่ก็มีตัวเลือกอื่นๆ ด้วย
โดยทั่วไปแล้ว ข้อมูลต่อไปนี้เป็นจริง
การรับประกันความปลอดภัยขั้นต่ำ
- ระดับการตรวจสอบสิทธิ์อย่างน้อย 80 บิต
- ปลอดภัยจากการปลอมแปลงที่เป็นไปได้ภายใต้การโจมตีข้อความธรรมดาที่เลือก
- การรักษาความปลอดภัยอย่างน้อย 128 บิตเพื่อป้องกันการโจมตีเพื่อกู้คืนคีย์ และในกรณีที่มีผู้ใช้หลายคน (เมื่อผู้โจมตีไม่ได้มุ่งเป้าไปที่คีย์ใดคีย์หนึ่งโดยเฉพาะ แต่มุ่งเป้าไปที่คีย์ใดก็ได้จากชุดคีย์ที่มีไม่เกิน 232 คีย์)
ตัวอย่างกรณีการใช้งาน
โปรดดูหัวข้อฉันต้องการปกป้องข้อมูลจากการดัดแปลง
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-25 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-25 UTC"],[[["\u003cp\u003eThe Message Authentication Code (MAC) primitive, using a shared symmetric key, enables verification of data integrity and authenticity by generating an authentication tag.\u003c/p\u003e\n"],["\u003cp\u003eMAC ensures authenticity as only the key holder can create a verifiable tag, and it's symmetric, requiring the same key for both computation and verification.\u003c/p\u003e\n"],["\u003cp\u003eTink recommends HMAC_SHA256 for most use cases, while HMAC_SHA512 offers higher security and AES256_CMAC might provide better performance with specific hardware.\u003c/p\u003e\n"],["\u003cp\u003eTink's MAC implementation guarantees a minimum of 80-bit authentication strength, protection against forgery, and at least 128-bit security against key recovery attacks, even in multi-user environments.\u003c/p\u003e\n"]]],["MAC uses a shared symmetric key between sender and recipient to verify message authenticity and integrity. The sender computes an authentication tag for a message, which the recipient uses to confirm its origin and unaltered state. MAC guarantees authenticity, where only key holders can create verifiable tags. Key recommendations include HMAC_SHA256, HMAC_SHA512 (most conservative), and AES256_CMAC (fastest with AES-NI). MAC is designed solely for message authentication, offering a minimum of 80-bit authentication strength.\n"],null,[]]