{"id":435,"date":"2025-08-06T03:56:34","date_gmt":"2025-08-06T03:56:34","guid":{"rendered":"https:\/\/student.wp.odu.edu\/zabeb001\/?page_id=435"},"modified":"2025-08-10T05:13:23","modified_gmt":"2025-08-10T05:13:23","slug":"networking","status":"publish","type":"page","link":"https:\/\/student.wp.odu.edu\/zabeb001\/networking\/","title":{"rendered":"Python Programming"},"content":{"rendered":"\n<p>I build and secure systems end to end. This page highlights three Python labs: a TCP server and client that handle multiple connections and real network I\/O, file encryption with Fernet (AES) with integrity checks and sound key handling, and password storage with PBKDF2 using unique salts, high iterations, and constant time verification. Together they show practical skills for application security and backend roles.<\/p>\n\n\n\n<p><strong>Artifacts<\/strong><\/p>\n\n\n\n<p><strong>Socket Programming \u2014 Echo (Client\/Server)<\/strong><\/p>\n\n\n\n<p>Skills gained: TCP\/IP fundamentals, Python sockets, handling multiple clients with threads, connection timeouts and graceful shutdowns, basic protocol design, reading PCAPs to troubleshoot, structured logging, simple input validation, and awareness of where to add TLS and authentication.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233622.png\"><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"787\" data-id=\"458\" src=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233622.png\" alt=\"\" class=\"wp-image-458\" srcset=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233622.png 647w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233622-247x300.png 247w\" sizes=\"(max-width: 647px) 100vw, 647px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233604.png\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"667\" data-id=\"457\" src=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233604.png\" alt=\"\" class=\"wp-image-457\" srcset=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233604.png 561w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233604-252x300.png 252w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Encryption\/Decryption \u2014 Fernet (AES)<\/strong><\/p>\n\n\n\n<p>Skills gained: key generation and safe storage, authenticated encryption with integrity checks, secure file I\/O, key rotation basics, using environment variables for secrets, handling exceptions for bad tokens, verifying results with test files, and avoiding pitfalls like hard coded keys or unauthenticated ciphers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233543.png\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"474\" src=\"http:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233543.png\" alt=\"\" class=\"wp-image-456\" srcset=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233543.png 888w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233543-300x160.png 300w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233543-768x410.png 768w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-09-233543-562x300.png 562w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>User Authentication \u2014 PBKDF2 Passwords<\/strong><\/p>\n\n\n\n<p>Skills gained: salted and iterated password hashing, constant time verification, tuning iterations and rehash on login, designing simple register\/login flows, lockout and backoff for brute force defense, JSON data modeling for user records, basic audit logging, and planning safe migrations from weaker hash schemes.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-010944.png\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"520\" data-id=\"487\" src=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-010944.png\" alt=\"\" class=\"wp-image-487\" srcset=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-010944.png 882w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-010944-300x177.png 300w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-010944-768x453.png 768w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-010944-509x300.png 509w\" sizes=\"(max-width: 882px) 100vw, 882px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-011032.png\"><img loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"545\" data-id=\"488\" src=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-011032.png\" alt=\"\" class=\"wp-image-488\" srcset=\"https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-011032.png 830w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-011032-300x197.png 300w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-011032-768x504.png 768w, https:\/\/student.wp.odu.edu\/zabeb001\/wp-content\/uploads\/sites\/35306\/2025\/08\/Screenshot-2025-08-10-011032-457x300.png 457w\" sizes=\"(max-width: 830px) 100vw, 830px\" \/><\/a><\/figure>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>I build and secure systems end to end. This page highlights three Python labs: a TCP server and client that handle multiple connections and real network I\/O, file encryption with Fernet (AES) with integrity checks and sound key handling, and password storage with PBKDF2 using unique salts, high iterations, and constant time verification. Together they&#8230; <\/p>\n<div class=\"link-more\"><a href=\"https:\/\/student.wp.odu.edu\/zabeb001\/networking\/\">Read More<\/a><\/div>\n","protected":false},"author":28351,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/pages\/435"}],"collection":[{"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/users\/28351"}],"replies":[{"embeddable":true,"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/comments?post=435"}],"version-history":[{"count":4,"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/pages\/435\/revisions"}],"predecessor-version":[{"id":489,"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/pages\/435\/revisions\/489"}],"wp:attachment":[{"href":"https:\/\/student.wp.odu.edu\/zabeb001\/wp-json\/wp\/v2\/media?parent=435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}