Comments (8)
Using a *
per input character rather than nothing is less secure as it leaks the length of the password.
from rustyline.
See #266
from rustyline.
Reading passwords securely requires more than that. Usually you want to ensure no one else is reading the input and that you are really connected to a terminal etc.
from rustyline.
I'm looking for this. It doesn't even have to be incredibly secure, just hiding the visible input would be enough for lots of cases.
from rustyline.
@madprops You can try something like this:
- Disable auto_add_history so that password does not appear in your history file.
- Define a Highlighter such as
highlight
returns '*' x width(line) because rustyline expects the highlighted line to have the same width as the raw line andhighlight_char
returnstrue
. - And force highlighting: color_mode.
from rustyline.
Hmm not sure how to do this. It seems to define a highlighter I need to provide a helper, and to do that I need to implement all the helper stuff, not just the highlight? Can't find an easier way. Also in my case I think I don't need to bother about the history bit, since I'm not using history features in my inputs.
from rustyline.
@madprops I know, this is just a hack.
I will try to provide you a complete example.
from rustyline.
from rustyline.
Related Issues (20)
- How do I use rustyline in full-duplex mode? HOT 2
- Update prompt asynchronously HOT 1
- rustyline overwrites previously registered SIGWINCH handler HOT 2
- Add support for cancelling input with Escape HOT 8
- multiline issues if input spans terminal height HOT 1
- confusing example on helper - color for prompt only needed - no matching brackets, completions etc. HOT 2
- External printer sometimes omits messages until more input is given HOT 8
- Compilation error when compiling example.rs HOT 1
- clipboard-win's license (which is BSL) seems not compatible MIT license HOT 3
- Highlighter::highlight_candidate() candidate argument should be Completer::Candidate HOT 1
- Caret key (`^`) does not work as expected in evcxr_repl in vi edit mode HOT 2
- EOF should maybe yield `ReadlineError::Eof` instead of just terminating `Editor::iter` HOT 5
- Help, how to use multiline input prompt? Following the example code in `input_multiline.rs` but it does not compile HOT 1
- How to test an app that uses rustyline? HOT 5
- Being able to bind Shift+Enter to something else HOT 1
- How to access LineBuffer? HOT 1
- Create a separate crate for KeyEvent management
- New release HOT 1
- v10.1.0 increases the MSRV to 1.62 HOT 9
- MSRV policy HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rustyline.