java.net.PasswordAuthentication รับชื่อผู้ใช้และอาร์เรย์อักขระของรหัสผ่าน ส่งอักขระรหัสผ่านดั้งเดิมไป:

var credential = new java.net.PasswordAuthentication(
    "proxy-user", "p@ssword".toCharArray());

ค่านี้เป็นรหัสผ่านตัวอย่าง ในโค้ดแอปพลิเคชัน ให้รับอักขระจริงจากแหล่งข้อมูลรับรองที่ตั้งใจไว้

เครื่องหมาย @ ภายในรหัสผ่านนี้เป็นข้อมูล เพราะรหัสผ่านมีอาร์กิวเมนต์ของตัวเองอยู่แล้ว การแปลงเป็น p%40ssword ก่อนตัวสร้างจะให้รหัสผ่านที่แตกต่างออกไป

URL พร็อกซีมี การแสดงข้อมูลรับรองอีกรูปแบบหนึ่ง ใน URL อย่าง http://proxy-user:p%[email protected]:8080 เครื่องหมาย @ ที่เข้ารหัสแล้วจะอยู่ในข้อมูลผู้ใช้ ส่วน @ ที่ตามมาจะแยกข้อมูลนั้นออกจากโฮสต์ ให้ถอดรหัสและเข้ารหัสตามอินเทอร์เฟซที่ใช้ค่าดังกล่าวจริง

การใส่เครื่องหมายคำพูดใน shell การ escape สตริงลิเทอรัลของ Java และการเข้ารหัสเปอร์เซ็นต์ของ URL ก็แก้ปัญหาการแยกวิเคราะห์ที่แตกต่างกันเช่นกัน กำหนดว่าชั้นใดกำลังอ่านอินพุตแทนที่จะเข้ารหัสข้อมูลรับรองซ้ำ ๆ จนกว่าพฤติกรรมของคำขอจะเปลี่ยน

บทความที่เกี่ยวข้อง