当前位置: 首页 > news >正文

wordpress 全局tagseo和sem是什么意思啊

wordpress 全局tag,seo和sem是什么意思啊,网站的三大标签,网络需求分析的主要内容有哪些方法一#xff1a;通过 SMS Retriever API SMS Retriever API 是 Google 提供的一种安全的方式#xff0c;可以从系统中获取不需要权限的短信验证码。这种方式不需要请求 READ_SMS 权限#xff0c;非常适合处理短信验证码的情况。 1. 在 build.gradle 中添加依赖 dependen… 方法一通过 SMS Retriever API SMS Retriever API 是 Google 提供的一种安全的方式可以从系统中获取不需要权限的短信验证码。这种方式不需要请求 READ_SMS 权限非常适合处理短信验证码的情况。 1. 在 build.gradle 中添加依赖 dependencies {implementation com.google.android.gms:play-services-auth-api-phone:18.0.1 }2. 获取应用的哈希值 Google 的 SMS Retriever API 会通过一个特定的哈希值来验证短信的来源。获取这个哈希值后将其附加在发送的短信中。 private String getAppHashKey() {try {PackageInfo info getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_SIGNATURES);for (Signature signature : info.signatures) {MessageDigest md MessageDigest.getInstance(SHA);md.update(signature.toByteArray());return Base64.encodeToString(md.digest(), Base64.NO_WRAP).substring(0, 9);}} catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {e.printStackTrace();}return null; }3. 开启 SMS Retriever SmsRetrieverClient client SmsRetriever.getClient(this); TaskVoid task client.startSmsRetriever(); task.addOnSuccessListener(new OnSuccessListenerVoid() {Overridepublic void onSuccess(Void aVoid) {// 成功启动 SMS Retriever} }); task.addOnFailureListener(new OnFailureListener() {Overridepublic void onFailure(NonNull Exception e) {// 启动失败} });4. 接收短信 注册一个 BroadcastReceiver 来监听 SMS Retriever API 的广播 public class MySmsBroadcastReceiver extends BroadcastReceiver {private SmsReceiverListener listener;public void setSmsReceiverListener(SmsReceiverListener listener) {this.listener listener;}Overridepublic void onReceive(Context context, Intent intent) {if (SmsRetriever.SMS_RETRIEVED_ACTION.equals(intent.getAction())) {Bundle extras intent.getExtras();Status status (Status) extras.get(SmsRetriever.EXTRA_STATUS);switch (status.getStatusCode()) {case CommonStatusCodes.SUCCESS:// 获取短信String message (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);if (listener ! null) {listener.onSmsReceived(message);}break;case CommonStatusCodes.TIMEOUT:// 超时break;}}} }5. 处理短信中的验证码 使用正则表达式提取验证码 Pattern pattern Pattern.compile(\\d{6}); Matcher matcher pattern.matcher(message); if (matcher.find()) {String code matcher.group(0);// 使用验证码 }短信格式 通过 SMS Retriever API需要确保短信的格式包含应用的哈希值例如 Your verification code is 123456. # Your App Name: Use this code to verify your phone number. abc123xyz (Your Apps hash key)在使用 SMS Retriever API 获取短信验证码时短信必须包含应用的哈希值这样 Android 系统才能识别出该短信是由你应用发送的并自动从系统短信中提取该短信  abc123xyz 是通过应用的签名生成的哈希值 哈希值用于验证短信的来源确保是从与你应用关联的服务器发送的短信而不是其他来源伪造的。系统通过这个哈希值自动识别和提取短信内容不需要用户手动输入验证码。 6.哈希值生成步骤 获取应用的签名证书应用的哈希值是根据应用的签名证书生成的。在 Android 中每个应用都有一个签名证书用来唯一标识应用。SMS Retriever API 通过应用的签名证书来生成哈希值。 使用 Java 代码生成哈希值可以在应用的 Activity 或 Utils 类中调用它 import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; import android.util.Base64; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;public class AppSignatureHelper {private static final String HASH_TYPE SHA-256;private static final int NUM_HASHED_BYTES 9;private static final int NUM_BASE64_CHAR 11;public static String getAppHashKey(Context context) {try {// 获取应用包的信息PackageInfo packageInfo context.getPackageManager().getPackageInfo(context.getPackageName(),PackageManager.GET_SIGNATURES);// 遍历签名信息for (Signature signature : packageInfo.signatures) {byte[] signatureBytes signature.toByteArray();// 通过SHA-256进行哈希计算MessageDigest md MessageDigest.getInstance(HASH_TYPE);md.update(signatureBytes);byte[] digest md.digest();// 将哈希值编码为Base64格式取前11位作为哈希值return Base64.encodeToString(digest, Base64.NO_WRAP).substring(0, NUM_BASE64_CHAR);}} catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {e.printStackTrace();}return null;} }调用哈希值生成方法 在应用启动时或者短信发送前调用此方法获取哈希值。这个哈希值需要包含在发送的短信中 String hashKey AppSignatureHelper.getAppHashKey(context); Log.d(AppHashKey, Hash Key: hashKey);将哈希值添加到短信内容中 将生成的哈希值附加到短信的末尾 Your verification code is 123456. # MyApp: Use this code to verify your phone number. abc123xyz (Your Apps hash key)方法二通过读取短信权限 (READ_SMS) 这种方法需要获取读取短信的权限但由于隐私和安全问题Google 对读取短信的权限要求非常严格并且 Android 6.0 以上的版本还需要动态申请权限。 1. 在 AndroidManifest.xml 中添加权限 uses-permission android:nameandroid.permission.RECEIVE_SMS / uses-permission android:nameandroid.permission.READ_SMS /2. 动态申请权限针对 Android 6.0 及以上 public class SmsReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(intent.getAction())) {Bundle bundle intent.getExtras();if (bundle ! null) {Object[] pdus (Object[]) bundle.get(pdus);for (Object pdu : pdus) {SmsMessage message SmsMessage.createFromPdu((byte[]) pdu);String sender message.getDisplayOriginatingAddress();String content message.getMessageBody();// 处理短信内容提取验证码}}}} }3. 注册一个 BroadcastReceiver 来监听收到的短信 public class SmsReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(intent.getAction())) {Bundle bundle intent.getExtras();if (bundle ! null) {Object[] pdus (Object[]) bundle.get(pdus);for (Object pdu : pdus) {SmsMessage message SmsMessage.createFromPdu((byte[]) pdu);String sender message.getDisplayOriginatingAddress();String content message.getMessageBody();// 处理短信内容提取验证码}}}} }4. 提取短信验证码 与 SMS Retriever API 类似可以使用正则表达式提取验证码。 总结 SMS Retriever API 是更加推荐的方法因为它不需要读取短信的权限更加安全。读取短信权限 方法需要申请敏感权限使用较少。
http://www.w-s-a.com/news/214928/

相关文章:

  • 网站定制哪家快建筑室内设计网
  • 网站创建方案论文旅游网站的设计与制作html
  • 网站建设的数据导入导出开发小程序需要多少钱费用
  • 局网站建设进入前十名wordpress user role editor
  • 网站托管如何收费搜一下百度
  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位
  • 网站网页直播怎么做的企业网站建设推荐兴田德润
  • 网站建设熊猫建站厦门seo全网营销
  • 扁平网站设计seo是什么岗位的缩写
  • 工商企业网站群晖配置wordpress 80端口
  • 企业网站建设流程步骤镇江东翔网络科技有限公司