รหัสผ่านการพิมพ์: ฉันจะแยกความแตกต่างของ l / 1, o / O / 0, ฯลฯ และมองเห็นช่องว่างได้อย่างไร


10

ฉันต้องการพิมพ์รหัสผ่านที่สร้างขึ้นแบบสุ่มดังนั้นอักขระที่มีลักษณะเหมือนศูนย์และตัวอักษร "o" หรือหนึ่งและตัวอักษร "l" มีความแตกต่างอย่างชัดเจน ฉันอยากจะหาวิธีในการมองเห็นช่องว่างเช่นฉันกำลังมองหาตัวอักษรที่ทำอย่างนั้นหรือเป็นทางเลือกที่จะขีดเส้นใต้ (เนื่องจากรหัสผ่านอาจมีขีดล่าง)

จนถึงตอนนี้ที่ฉันพบที่ดีที่สุดคือ "Bitstream vera sans mono" ใน openoffice ตามนี้: http://forums.overclockers.co.uk/showthread.PHP?p=16215032 (น่าแปลกที่มันไม่ได้อยู่ในรายการตัวอักษร แต่ หากฉันพิมพ์ลงไปก็ใช้งานได้: /) "Lucida Console" ดูเหมือนจะไม่มีอยู่ใน openoffice / libreoffice

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


1
คุณอาจทำให้ปัญหาเล็กน้อยง่ายขึ้นโดยกำจัดอักขระที่มีปัญหาบางอย่างเช่นช่องว่าง ด้วยชุดอักขระขนาดใหญ่ของตัวอักษรบน / ล่างจำนวนและอักขระเครื่องหมายวรรคตอนฉันจะกำจัดช่องว่างเช่นโดยไม่ลดความเป็นไปได้ของ combinatoric ลงอย่างมาก
uSlackr

ตัวอักษร OCR-A เป็นอย่างไร?
Linker3000

1
ระบบปฏิบัติการของคุณอาจติดตั้ง DejaVu แทนที่จะเป็น Bitstream Vera DejaVu เป็นทางแยกของ Bistream Vera ที่เพิ่มความหลากหลายและการสนับสนุนเพิ่มเติมสำหรับภาษาอื่น ๆ
afrazier

คำตอบ:


3

ดังที่ @ uSlackr กล่าวว่าการกำจัดตัวละครที่ลำบากจะช่วยได้มากหากคุณกำลังสร้างตัวเองขึ้นมา

ที่กล่าวมาคุณจะต้องการดูแบบอักษรที่เหมาะสำหรับโปรแกรมเมอร์เนื่องจากมันมีปัญหาประเภทนี้อยู่ตลอดเวลา ทุกคนก็มีความเห็นดังนั้น Google สำหรับ "การเขียนโปรแกรมแบบอักษร" และคุณจะพบจำนวนของหน้าเว็บที่มีตัวอย่างไปยังมุมมองเช่นนี้ ฉันเป็นส่วนหนึ่งของ Consolas:

ตัวอย่าง Consolas

ทีนี้สิ่งหนึ่งที่คุณสามารถทำได้เพื่อช่วยในช่องว่างที่มองเห็นได้คือการใช้Notepad2เป็นเครื่องมือแก้ไขข้อความ (ฉันใช้ตัวแปรNotepad2-Mod ด้วยตัวเอง) มันมีตัวเลือกสำหรับช่องว่างที่มองเห็นได้ดังนั้นแท็บจะแสดงด้วยลูกศรและช่องว่างที่มีจุดเล็ก ๆ อยู่ตรงกลางของพื้นที่อักขระ สิ่งนี้ไม่ได้มีไว้สำหรับแสดงเท่านั้นสิ่งเหล่านี้จะพิมพ์ออกมาด้วย ด้านล่างนี้เป็นภาพรวมของ PDF ที่สร้างขึ้นโดยการพิมพ์จาก Notepad 2 พร้อมช่องว่างที่มองเห็นและคำแนะนำการเยื้องใน:

Consolas w / ช่องว่าง

เครื่องมือแก้ไขScintillaอื่น ๆ ทั้งหมดอาจทำงานในลักษณะเดียวกัน


1

คุณสามารถทำได้เช่นเดียวกับธนาคารที่พิมพ์หมายเลข PIN ทั้งแบบปกติและแบบออกเสียง

ดังนั้นรหัสผ่าน 'h30yg28fi1' จะถูกเขียนด้วย:

AICH สามศูนย์ทำไมถึงได้รับสองแปดอย่างต่อเนื่อง

หรือสิ่งที่คล้ายกัน

นั่นจะแตกต่างกันว่า "oh", "OH" และ "ZERO", "eye", "EYE", "ell", "ELL" และ "ONE" ค่อนข้างดี


1

ขออภัยสำหรับความคิดเห็นที่ล่าช้า ฉันใช้วิธีนี้ในที่สุด (ตัวอักษร vera bitstream ใน latex กับ verbatim *):

\documentclass{article}

\usepackage{bera}

\begin{document}

% text using bera font (Bitstream Vera), which has dotted zeroes
% the * after verbatim adds visible spaces
\begin{verbatim*}'1 l oO0}4 _i6D-WtF#q\end{verbatim*}

% visible space
hello\textvisiblespace world

% slashed zero
\o

\end{document}

ฉันเหลืออีกสองสามอย่างที่ฉันพยายามเช่นกัน

วิธีสร้างไฟล์ PDF จากมัน:

pdflatex password_printing_4.tex

หากคุณได้รับข้อผิดพลาดลองติดตั้ง texmaker มันขึ้นอยู่กับแพคเกจน้ำยางที่จำเป็นที่สุด:

sudo apt-get install texmaker

ฉันยังลองแบบอักษร inconsolata ใน latex แต่ดูเหมือนจะไม่เหมือนกัน:

\documentclass{article}

\usepackage{inconsolata}
%\usepackage{bera}

% requires texlive-xetex package:
\usepackage[xetex]{graphicx}
%\usepackage{fontspec,xunicode}
%\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
%\setmainfont[Scale=.95]{Inconsolata}

\begin{document}

% text using bera font (Bitstream Vera), which has dotted zeroes
% the * after verbatim adds visible spaces
\begin{verbatim*}`!=}k o6~-cRR1loO0\end{verbatim*}

%\renewcommand{\bera}{\inconsolata}
\texttt{This is Inconsolata. zero: 0}

%\renewcommand{\inconsolata}{\bera}
\texttt{This is Bera. zero: 0}

% visible space
hello\textvisiblespace world

% slashed zero
\o

\end{document}

นี่เป็นคำตอบที่ดีที่สุดและเป็นวิธีที่ผู้ถาม (คุณ :)) เลือกที่จะแก้ปัญหาในท้ายที่สุด ทำไมไม่ยอมรับหรือไม่
peth

อาจเป็นเพราะฉันโพสต์หรือไม่ อย่างไรก็ตามใช่ยอมรับ :)
KIAaze
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.