[iOS Dev] NSKeyedArchiver : Basic Encryption
เวลาเราต้องการเก็บข้อมูลสิ่งแรกที่นึกถึงน่าจะเป็น NSUserDefaults
แต่ก็มีเหตุผลด้านความปลอดภัย เพราะมันไม่มีการเข้ารหัส ถ้าเป็นข้อมูลที่ค่อนข้างสำคัญ
ผมสร้าง Student Object มาทดสอบการเข้ารหัสนะครับ
โดย Object นั้นๆ จะต้อง Override method ของ NSCoding Protocol ด้วย
จากนั้นเวลาจะเข้ารหัสก็เขียนตามนี้เลย โดยจะถูกเข้ารหัสโดย NSKeyedArchiver และเขียนไว้ที่ documents/Student.data
จากนั้นเมื่อต้องการนำ Object นี้ออกมาใช้ก็ทำการถอดรหัสด้วย NSKeyedUnacrhiver

เท่าที่นี้ข้อมูลที่ควรจะปลอดภัย มันก็ปลอดภัยในระดับหนึ่งแล้วล่ะครับ
นี่คือตัวอย่างข้อมูลที่ถูกเข้ารหัสโดย NSKeyedArchiver
ยังมีวิธีที่ดีกว่านี้ เช่นการเก็บข้อมูลลง Keychain ไว้จะมาเขียนให้อ่านนะครับ :)
Comments
Post a Comment