Posts

Showing posts with the label encryption

[iOS Dev] NSKeyedArchiver : Basic Encryption

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