Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript隐藏与密码类似的纯文本_Javascript_Html_Sha - Fatal编程技术网

JavaScript隐藏与密码类似的纯文本

JavaScript隐藏与密码类似的纯文本,javascript,html,sha,Javascript,Html,Sha,我试图隐藏/显示散列函数的纯文本,我能够隐藏输入字段,但我无法隐藏/显示纯文本,网页有一个输入字段,下面是我正在键入的文本,然后是散列文本,我试图用项目符号替换纯文本 我试图通过计算字段中的字符数来隐藏它,然后多次重复该项目符号。但是现在这个页面根本不起作用了 <!DOCTYPE html> <html> <body> <input name="show password" type="checkbox"

我试图隐藏/显示散列函数的纯文本,我能够隐藏输入字段,但我无法隐藏/显示纯文本,网页有一个输入字段,下面是我正在键入的文本,然后是散列文本,我试图用项目符号替换纯文本

我试图通过计算字段中的字符数来隐藏它,然后多次重复该项目符号。但是现在这个页面根本不起作用了

<!DOCTYPE html>
<html>
<body>

    <input 
        name="show password" 
        type="checkbox" 
        checked="checked"
        onclick="toggleType();" />
    <input 
        size="80"
        input type="text"
        rows="7"
        id="edValue" 
        type="text" 
        onKeyPress="edValueKeyPress() 
        "onKeyUp="edValueKeyPress()">
    <p id="string">Original text: </p>
    <p id="lblValue">The SHA256 hash is:  </p>

<script type="text/javascript" src="sha256.js">
</script>

<script type="text/javascript">
    function edValueKeyPress()
    {
        var edValue = document.getElementById("edValue");
        var s = edValue.value;

        var lblValue = document.getElementById("lblValue");
        lblValue.innerText = "The SHA256 hash is: "+sha256_digest(s);

        var TheText = document.getElementById("string");
        TheText.innerText = "Original text: "+s;

    }

    function toggleType() {
        var obj = document.getElementById('edValue');
        if (obj.type == 'password') {
            obj.type = 'text';
        } else {
            obj.type = 'password';
            repeat();
        }
    }
    function repeat() {
        var length = this.value.length;
        var count = document.getElementById("edValue");
        String.prototype.repeat = function(n) {
        return new Array(1 + n).join(this);
        var TheText = document.getElementById("string");
        TheText.innerText = "*".repeat(count);
    }





</script>
</body>
</html>

原始文本:

SHA256哈希是:

函数edValueKeyPress() { var-edValue=document.getElementById(“edValue”); var s=edValue.value; var lblValue=document.getElementById(“lblValue”); lblValue.innerText=“SHA256哈希为:“+SHA256\u摘要”; var TheText=document.getElementById(“字符串”); TheText.innerText=“原始文本:”+s; } 函数toggleType(){ var obj=document.getElementById('edValue'); 如果(obj.type=='password'){ obj.type='text'; }否则{ obj.type='密码'; 重复(); } } 函数重复(){ 变量长度=this.value.length; var count=document.getElementById(“edValue”); String.prototype.repeat=函数(n){ 返回新数组(1+n)。加入(此); var TheText=document.getElementById(“字符串”); TheText.innerText=“*”。重复(计数); }
只需使用正则表达式:

w/jQuery:

$('YOURELEMENT').html($('div').html().replace(/./g, '*'));
没有:

var text = document.getElementById('YOURELEMENT').innerText;
document.getElementById('string').innerHTML = text.replace(/./g, '*')
要切换:

Html输入

<input 
        name="show password" 
        type="checkbox" 
        checked="checked"
        onclick="toggleType();" />

<input id="password" type="password" />

工作示例:

很抱歉,OP,但我尝试了:(这是我所能得到的

Javascript

function edValueKeyPress()
{
    var edValue = document.getElementById("edValue");
    var s = edValue.value;

    var lblValue = document.getElementById("lblValue");
    var hashes = s.hashCode;
    lblValue.innerHTML = "The SHA256 hash is: " + hashes;

    var text = document.getElementById("string");
    text.innerHTML = "Original text: " + s;
}

function toggleType() {
    var obj = document.getElementById('edValue');
    if (obj.type == 'password') {
        obj.type = 'text';
    } else if(obj.type == 'text'){
        obj.type = 'password';
    }
}
HTML


原始文本:

SHA256哈希是:


为什么不使用密码输入类型?@kennebec我认为他们希望根据复选框是否选中来更改密码类型(从
密码
文本
)。他们已经有了在字段中隐藏密码的方法,听起来好像他们想要隐藏程序的结果,在那里它会回显输入的文本。
function edValueKeyPress()
{
    var edValue = document.getElementById("edValue");
    var s = edValue.value;

    var lblValue = document.getElementById("lblValue");
    var hashes = s.hashCode;
    lblValue.innerHTML = "The SHA256 hash is: " + hashes;

    var text = document.getElementById("string");
    text.innerHTML = "Original text: " + s;
}

function toggleType() {
    var obj = document.getElementById('edValue');
    if (obj.type == 'password') {
        obj.type = 'text';
    } else if(obj.type == 'text'){
        obj.type = 'password';
    }
}
<input 
    name="show password" 
    type="checkbox" 
    checked="checked"
    onclick="toggleType();" />
<input 
    size="80"
    type="text"
    rows="7"
    id="edValue" 
    type="text" 
    onkeyup="edValueKeyPress();">
<p id="string">Original text: </p>
<p id="lblValue">The SHA256 hash is:  </p>