in mật khẩu: Làm cách nào tôi có thể phân biệt l / 1, o / O / 0, v.v. và trực quan hóa không gian?


10

Tôi muốn in mật khẩu được tạo ngẫu nhiên, sao cho các ký tự giống nhau như số 0 và chữ "o" hoặc một và chữ "l" có thể phân biệt rõ ràng. Tôi cũng muốn tìm một cách để hình dung các không gian, I.e. Tôi đang tìm kiếm một phông chữ thực hiện điều đó hoặc thay thế cho dấu gạch dưới (vì mật khẩu có thể chứa dấu gạch dưới)

Cho đến nay, thứ tốt nhất tôi tìm thấy là "Bitstream vera sans mono" trong openoffice dựa trên điều này: http://forums.overclockers.co.uk/showthread.PHP?p=16215032 . "Bảng điều khiển Lucida" dường như không tồn tại trong openoffice / libreoffice.

Tất nhiên tôi có thể tạo lại mật khẩu mà không cần các ký tự và khoảng trắng giống nhau, nhưng tôi muốn biết liệu ai đó có biết một giải pháp tốt cho vấn đề này hay không, lý tưởng chỉ là một phông chữ với các số 0 bị cắt và các ký tự khoảng trắng có thể nhìn thấy.


1
Bạn có thể đơn giản hóa vấn đề một chút bằng cách loại bỏ một vài ký tự rắc rối như không gian. Với bộ ký tự lớn gồm các chữ cái trên / dưới, số và ký tự dấu chấm câu, tôi sẽ loại bỏ khoảng trắng chẳng hạn mà không làm giảm đáng kể các khả năng kết hợp
uSlackr

Làm thế nào về phông chữ OCR-A?
Linker3000

1
Hệ điều hành của bạn có thể đã cài đặt DejaVu thay vì Bitstream Vera. DejaVu là một nhánh của Bistream Vera có thêm rất nhiều biến thể và hỗ trợ thêm cho các ngôn ngữ khác.
afrazier

Câu trả lời:


3

Như @uSlackr đã nói, việc loại bỏ các nhân vật rắc rối sẽ giúp ích rất nhiều, nếu bạn tự tạo ra những thứ này.

Điều đó nói rằng, bạn sẽ muốn xem các phông chữ được tối ưu hóa cho các lập trình viên, bởi vì họ luôn gặp phải các loại vấn đề này. Mọi người đều có ý kiến, vì vậy Google cho "phông chữ lập trình" và bạn sẽ tìm thấy rất nhiều trang có mẫu để xem, như cái này . Tôi là rất một phần cho bản thân Consolas:

Consolas Sample

Bây giờ, một điều bạn có thể làm để giúp với khoảng trắng có thể nhìn thấy là sử dụng Notepad2 như một biên tập viên văn bản. (Tôi sử dụng Notepad2-Mod bản thân biến thể.) Nó có một tùy chọn cho khoảng trắng có thể nhìn thấy, vì vậy các tab được biểu thị bằng một mũi tên và khoảng trắng có một chấm nhỏ ở giữa không gian ký tự. Điều này không chỉ để hiển thị mặc dù, những điều này cũng sẽ in ra. Dưới đây là ảnh chụp nhanh PDF được tạo bằng cách in từ Notepad 2 với các hướng dẫn khoảng trắng và thụt lề có thể nhìn thấy trên:

Consolas w/ spaces

Tất cả khác Scintilla biên tập viên dựa trên có thể hành xử theo cùng một cách.


1

Bạn có thể làm điều đó giống như các ngân hàng in số PIN của họ - cả bình thường và theo ngữ âm.

Vì vậy, mật khẩu 'h30yg28fi1' cũng sẽ được viết:

AICH BA ZERO TẠI SAO GEE HAI EIGHT EFF EYE ONE

hoặc một cái gì đó tương tự.

Điều đó sẽ phân biệt "oh", "OH" và "ZERO", "mắt", "EYE", "ell", "ELL" và "ONE" khá tốt.


1

Xin lỗi vì phản hồi muộn. Tôi đã sử dụng giải pháp này cuối cùng (phông chữ bit vera trong latex với nguyên văn *):

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

Tôi cũng để lại một vài thứ khác mà tôi đã thử.

Để tạo một pdf từ nó:

pdflatex password_printing_4.tex

Nếu bạn gặp bất kỳ lỗi nào, hãy thử cài đặt texmaker. Nó phụ thuộc vào hầu hết các gói latex cần thiết:

sudo apt-get install texmaker

Tôi cũng đã thử phông chữ inconsolata trong latex, nhưng dường như không giống nhau:

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

Đây có vẻ là câu trả lời hay nhất và cũng là cách người hỏi (bạn :)) chọn cách giải quyết vấn đề cuối cùng. Tại sao không chấp nhận nó?
peth

Vâng, có lẽ bởi vì tôi đã đăng nó? Dù sao, vâng, chấp nhận. :)
KIAaze
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.