一种加密方法(16进制)

某一天,一位同事他发现一个系统中,一个任意的16个字符串不知道怎么变成了一个由32个16进制字符组成的字符串,于是本文产生了。

在这里,我理解的【加密】就是把容易看懂的信息转换成了不容易理解或者不能理解的信息。

回到主题,从同事的疑问中不难看出两个关键信息:

  1. 16个字符
  2. 32个【16进制】字符

只要接触过计算机,我们不难知道,在我们的键盘上分布着许多字符键,有数字、英文字母、特殊字符等等。我们通过敲击按键就能够把这些字符输入到计算机中,而作为程序员的你当然知道我们编码常用的就是一种由美国制定的信息交换标准代码所表示的字符,被称作ASCII码。如下:

ASCII码表是由7位二进制表示的128个字符的集合,如果转换成10进制,0-31和127表示设备控制字符,32-126表示数字、英文大小写字母、特殊字符、空格等,我们称之为可见字符。

所以,我有理由相信同事所说的16个字符串是由ASCII码所表示的可见字符组成。

那么,如何让16个变成32个?那就需要由2个字符来表示1个字符!

嗯....

此处,  需要灵感。。。。。。。。

似乎....ASCII码可以用10进制数表示,而大于15小于256的10进制数就可以用两位16进制数表示了,那么,16个就能变成32个了!

来看

// ME1D8FgA5SCbsKS9 -> 4D4531443846674135534362734B5339
// 实际的例子转了大写

"ME1D8FgA5SCbsKS9".replace(/./g,(match)=>{
    return match.charCodeAt().toString(16).toUpperCase()
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wl_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值