друк паролів: Як я можу розмежувати l / 1, o / O / 0 тощо та візуалізувати пробіли?


10

Я хотів би надрукувати випадково генеровані паролі, так що подібні до них символи, такі як нуль та літера "о", або один та літера "l", чітко відрізняються. Я також хотів би знайти спосіб візуалізації пробілів, тобто я шукаю шрифт, який робить це чи альтернативу підкресленням (оскільки паролі можуть містити підкреслення)

Поки що найкраще, що я знайшов, є "Bitstream vera sans mono" у openoffice на основі цього: http://forums.overclockers.co.uk/showthread.PHP?p=16215032 (Як не дивно, це не вказано у списку шрифтів, але якщо я його введіть, він працює.: /) "Консоль Lucida", схоже, не існує в openoffice / libreoffice.

Звичайно, я міг би відновити паролі без схожих символів та пробілів, але хотілося б знати, чи знає хтось про гарне рішення цієї проблеми, в ідеалі - лише шрифт з прорізаними нулями та видимими пробілами.


1
Ви можете трохи спростити проблему, усунувши кілька проблемних символів, таких як пробіл. Враховуючи великий набір символів з верхньої / нижньої літери, цифр та пунктуаційних символів, я би усунув пробіли, наприклад, без істотного зменшення комбінаторних можливостей
uSlackr

Як щодо шрифту OCR-A?
Linker3000

1
У вашій ОС може бути встановлена ​​DejaVu замість Bitstream Vera. DejaVu - це вилка Bistream Vera, яка додає безліч варіантів та додаткову підтримку для інших мов.
afrazier

Відповіді:


3

Як сказав @uSlackr, усунення проблемних персонажів дуже допомагає, якщо ви їх генеруєте самостійно.

Це означає, що ви хочете переглянути шрифти, оптимізовані для програмістів, оскільки вони постійно стикаються з подібними проблемами. У кожного є думка, тому Google для "програмування шрифтів", і ви знайдете безліч сторінок із зразками для перегляду, як ця . Я дуже часткова до консолей:

Зразок консолей

Тепер, одне, що ви можете зробити, щоб допомогти з видимим пробілом - це використовувати Notepad2 як текстовий редактор. (Я сам використовую варіант Notepad2-Mod .) У ньому є опція для видимого пробілу, тому вкладки позначаються стрілкою та пробілами з невеликою крапкою посередині простору символів. Хоча це не лише для відображення, вони також роздруковуються. Нижче наведено знімок PDF, створеного друком із Блокнота 2, із видимими пробілами та вказівниками щодо відступу:

Консолі з пробілами

Усі інші редактори на базі Scintilla, ймовірно, поводяться так само.


1

Ви можете зробити це так, як банки друкують свої PIN-коди - як нормально, так і фонетично.

Отже, пароль 'h30yg28fi1' також буде написаний:

ЧИ ТРИ ЗЕРО ЧОМУ ДЖЕ ДВІ ВОСІ ЕФФ ОК ОДИН

чи щось подібне.

Це досить добре розмежувало б "о", "ОН" та "ЗЕРО", "око", "ОЧЕ", "ЕЛЛ", "ЕЛЛ" та "ОДНО".


1

Вибачте за пізні відгуки. Я використав це рішення врешті-решт (шрифт bitstream vera в латексі з дословним *):

\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 в латексі, але, схоже, це не так:

\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}

Це виглядає як найкраща відповідь, а також те, як запитувач (ви :)) вирішив врешті вирішити проблему. Чому б не прийняти його?
1313

Ну, може, тому, що я розмістив це? У всякому разі, так, прийнято. :)
KIAaze
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.