php - 使用 T9 模式加密 SMS 消息
问题描述
我今天正在工作,然后我有了这个想法。我想制作一个采用纯文本的脚本,然后使用 T9 模式对其进行加密以用于手机上的 SMS 消息。
纯文本:你好
结果:4433555555666
所以我创建了一些这样的类:
<?php
class decoder {
public $keys = array(
'2' => 'abc',
'3'=> 'def',
'4'=> 'ghi',
'5'=> 'jkl',
'6'=> 'mno',
'7'=> 'pqrs',
'8'=> 'tuv',
'9'=> 'wxyz',
'0'=> ' '
);
function key($string) {
// store every character from the string into an array
$str = str_split($string);
}
}
$deco = new decoder;
echo $deco->key('hello');
?>
问题是我需要一些算法和行来说明如何将给定纯文本中的每个字符与键数组进行比较,然后在匹配时返回键号。
解决方案
你总是可以让它更简单,因为你只写一次,你可以使用这个:
$keys = array(
'a' => '2',
'b' => '22',
'c' => '222'... //and so on
然后使用简单的字符串替换。
否则你可以继续你的代码,但我认为它不会对性能进行很好的优化,因为你需要多次循环你的数组才能找到给定的字符。
推荐阅读
- javascript - 在将对象推入其中后,反应组件中的数组正在转换为数字(该数组的长度)
- python - Selenium 错误的选择器导致没有输出
- reactjs - 使用 React 读取嵌套数组并显示项目
- javascript - 为什么 array.sort() 不能在 javascript jsx 中工作
- javascript - 无法绑定到“formGroup”,因为它不是登录组件中“form”的已知属性
- flutter - Flutter调用http post发送响应丢失数据
- sql - 在电子表格中查找每日最大值(及其域)失败
- mysql - 无法加载 sqlconf.dll
- javascript - 上传多张图片时合并丢失的文件
- azure-devops - Azure DevOps yaml:使用 powershell 任务输出参数在相关作业中生成循环