ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: 风雨相随3

[求助] 如何电话号码换成密文?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-1-12 19:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
风雨相随3 发表于 2023-1-12 16:43
如果秘文个数和位置 不确定,能做出不?

没问题设置一个加密校验位就行了

TA的精华主题

TA的得分主题

发表于 2023-1-12 22:22 | 显示全部楼层
本帖最后由 洋务德雷 于 2023-1-12 22:29 编辑

这样的加密不是很轻易的就解除了吗?为何要加密呢?

TA的精华主题

TA的得分主题

发表于 2023-1-13 08:18 | 显示全部楼层
天地一相 发表于 2023-1-12 17:03
加密时能设置加密几位(如9位),加密位置随机,会更好玩。

对于手机号加密,一般都是只加密中间4位的。
要加密9位,技术上没问题,全部加密都行。

TA的精华主题

TA的得分主题

发表于 2023-1-13 10:35 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
aes256加密
=webservice("http://e.anyoupin.cn/eh3/?SecuEncode~0~aa~13506598106")

解密
=webservice("http://e.anyoupin.cn/eh3/?SecuEncode~1~aa~RDwGBDbRWzu/bAycr6eu7w==")

TA的精华主题

TA的得分主题

发表于 2023-1-14 00:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 1121228509 于 2023-1-14 20:06 编辑



Option Explicit
Sub 电话号码加密()
Dim fk As Long, xh As Long, xhh As Long
Dim Arr As Variant, Brr As Variant
fk = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row - 1
Arr = Sheets("Sheet1").Range("A2").Resize(fk, 1)
Brr = Array("g", "a", "l", "o", "r", "h", "I", "y", "k", "v")
ReDim Crr(1 To fk, 1 To 1) As Variant
For xh = 1 To fk
    For xhh = 1 To Len(Arr(xh, 1))
        If xhh > 3 And xhh < 8 And IsNumeric(Mid(Arr(xh, 1), xhh, 1)) = True Then
            Crr(xh, 1) = Crr(xh, 1) & Brr(Mid(Arr(xh, 1), xhh, 1))
        Else
            Crr(xh, 1) = Crr(xh, 1) & Mid(Arr(xh, 1), xhh, 1)
        End If
    Next xhh
Next xh
Sheets("Sheet1").Range("A2").Resize(fk, 1) = Crr
End Sub

Sub 密电话号码解密()
Dim fk As Long, xh As Long, xhh As Long
Dim Arr As Variant, Brr As Variant
fk = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row - 1
Arr = Sheets("Sheet1").Range("A2").Resize(fk, 1)
Brr = Array("g", "a", "l", "o", "r", "h", "I", "y", "k", "v")
ReDim Crr(1 To fk, 1 To 1) As Variant
For xh = 1 To fk
    For xhh = 1 To Len(Arr(xh, 1))
        If IsNumeric(Mid(Arr(xh, 1), xhh, 1)) = True Then
            Crr(xh, 1) = Crr(xh, 1) & Mid(Arr(xh, 1), xhh, 1)
        Else
            Crr(xh, 1) = Crr(xh, 1) & Application.Match(Mid(Arr(xh, 1), xhh, 1), Brr, 0) - 1
        End If
    Next xhh
Next xh
Sheets("Sheet1").Range("A2").Resize(fk, 1) = Crr
End Sub


电话号码加密与解密.rar (20.2 KB, 下载次数: 2)

TA的精华主题

TA的得分主题

发表于 2023-1-14 15:57 | 显示全部楼层
洋务德雷 发表于 2023-1-12 22:22
这样的加密不是很轻易的就解除了吗?为何要加密呢?

VBA层面就不要讨论加密了,何况加密后还要还原...
要稍为遮下眼就把密码字典与密匙放到注册表里面去,防下君子,
又或者,明文与原文两份文档,明文档随便瞎替换乱码,给别人用,原文档自己用,谁也破解不了

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 18:21 , Processed in 0.032566 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表