การป้องกันซอฟต์แวร์น่าจะเป็นปัญหาหลักที่นักพัฒนาทุกคนต้องเผชิญ วิธีที่ง่ายที่สุดในการป้องกันตัวเองคือการใช้กุญแจที่สร้างขึ้นตามหลักการบางอย่าง การเขียนตัวสร้างคีย์พื้นฐานเป็นงานคลาสสิกสำหรับโปรแกรมเมอร์ C มือใหม่เพราะ ช่วยให้คุณเน้นย้ำแง่มุมของการทำงานกับสัญลักษณ์
คำแนะนำ
ขั้นตอนที่ 1
ตัวสร้างคีย์ด้านล่างคือตัวเข้ารหัสโดยพื้นฐานแล้ว โปรแกรมจะกำหนดให้ผู้ใช้ป้อนชื่อและนามสกุล จากนั้นแปลอักขระแต่ละตัวที่ป้อนเป็นรหัสตัวเลขและแปลงตามกฎหมายที่กำหนด ผู้ใช้จะปรากฏบนหน้าจอคีย์ที่ประกอบด้วยจำนวนอักขระเท่ากับนามสกุล ข้อเสียของอัลกอริธึมนี้คือจำนวนอักขระมาตรฐานในคีย์สามารถรับได้เฉพาะกับข้อมูลอินพุตมาตรฐานเท่านั้น (ที่อยู่ IP ค่าจากรีจิสทรีของ Windows)
ขั้นตอนที่ 2
ขอนามสกุล นามสกุล และนามสกุลของผู้ใช้ ในกรณีนี้ เพื่อให้คีย์เอาต์พุตสะดวกยิ่งขึ้น ระบบจะใช้เฉพาะนามสกุลเท่านั้น (รหัสที่ป้อนจะถูกอ่านจนถึงช่องว่างแรก ส่วนที่เหลือจะไปยังบัฟเฟอร์ ซึ่งจะต้องล้างหากจำเป็น). ข้อมูลจะถูกเขียนไปยังอาร์เรย์ char A [30] ในเวลาเดียวกัน ให้ป้อนตัวนับเพิ่มเติมเพื่อให้ i จำจำนวนอักขระที่ป้อน
printf ("ป้อนนามสกุลและชื่อย่อ [Vasiliev A. I.] n");
ในขณะที่ (A [i-1]! = '')
{scanf ("% c", & A ); ผม ++;}
ขั้นตอนที่ 3
แปลงนามสกุล. แม้ว่าอาร์เรย์จะอยู่ในรูปแบบ char แต่คุณก็สามารถดำเนินการทางคณิตศาสตร์กับอาร์เรย์ได้ตั้งแต่ it อักขระแต่ละตัวใน C มีรหัสตัวเลขของตัวเอง ดังนั้นให้สร้างการวนซ้ำจากศูนย์ถึงจำนวนอักขระที่เก็บไว้ i ในเนื้อความของลูป ให้เขียนการแปลงสำหรับองค์ประกอบ A [j] แล้วแสดง
สำหรับ (int j = 0; j
การตรวจสอบความถูกต้องจะดำเนินการโดยการเปรียบเทียบผลลัพธ์และกุญแจที่ได้รับ สำหรับการอนุญาต ผู้ใช้ป้อนนามสกุลและรหัสที่โปรแกรมสร้างของคุณออกให้ มีการติดตั้งเครื่องกำเนิดไฟฟ้าที่คล้ายกันภายในโปรแกรม ซึ่งจะแปลงนามสกุลตามกฎหมายเดียวกัน จากนั้นจึงเปรียบเทียบค่าที่ป้อนตามตัวอักษรกับสิ่งที่ควรได้รับ
ขั้นตอนที่ 4
การตรวจสอบความถูกต้องจะดำเนินการโดยการเปรียบเทียบผลลัพธ์และกุญแจที่ได้รับ สำหรับการอนุญาต ผู้ใช้ป้อนนามสกุลและรหัสที่โปรแกรมสร้างของคุณออกให้ มีการติดตั้งเครื่องกำเนิดไฟฟ้าที่คล้ายกันภายในโปรแกรม ซึ่งจะแปลงนามสกุลตามกฎหมายเดียวกัน จากนั้นจึงเปรียบเทียบค่าที่ป้อนตามตัวอักษรกับสิ่งที่ควรได้รับ