`
jkvast
  • 浏览: 10567 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

58同城android客户端手机号码解密方法

阅读更多

由于58同城在页面上抓取二手房信息的时候,用户的联系电话是图片的,本人水平关系无法进行很好的识别,所以转为抓取其android客户端比较容易,之前都是好好的,最近发现其升级到1.3.0.0后手机号码进行了加密,所以直接反编译其android客户端,查到其用的是des加密,而且加密的key很容易就拿到,下面贴出解密方法。(des加解密比较简单下面贴出来)

 

import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;

public class Decode458 {
	static byte[] key = null; //这个key如果有需要请反编译58客户端获取这里不便贴出
	
	public static void main(String[] args) throws Exception {
		System.out.println(new String(Decode458.decode(Decode458.convertHexString("002E674657AE8239982087DCB2E6A99B"))));
		System.out.println(Decode458.toHexString(Decode458.encode("13219863008".getBytes())));
	}
	
	public static byte[] decode(byte[] paramArrayOfByte) {
		try {
			SecureRandom localSecureRandom = new SecureRandom();
			DESKeySpec localDESKeySpec = new DESKeySpec(key);
			SecretKey localSecretKey = SecretKeyFactory.getInstance("DES")
					.generateSecret(localDESKeySpec);
			Cipher localCipher = Cipher.getInstance("DES");
			localCipher.init(2, localSecretKey, localSecureRandom);
			return localCipher.doFinal(paramArrayOfByte);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public static byte[] encode(byte[] paramArrayOfByte) {
		try {
			SecureRandom localSecureRandom = new SecureRandom();
			DESKeySpec localDESKeySpec = new DESKeySpec(key);
			SecretKey localSecretKey = SecretKeyFactory.getInstance("DES")
					.generateSecret(localDESKeySpec);
			Cipher localCipher = Cipher.getInstance("DES");
			localCipher.init(1, localSecretKey, localSecureRandom);
			return localCipher.doFinal(paramArrayOfByte);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public static byte[] convertHexString(String text) {
		byte digest[] = new byte[text.length() / 2];
		for (int i = 0; i < digest.length; i++) {
			String byteString = text.substring(2 * i, 2 * i + 2);
			int byteValue = Integer.parseInt(byteString, 16);
			digest[i] = (byte) byteValue;
		}
		return digest;
	}
	
	public static String toHexString(byte b[]) {
		StringBuffer hexString = new StringBuffer();
		for (int i = 0; i < b.length; i++) {
			String plainText = Integer.toHexString(0xff & b[i]);
			if (plainText.length() < 2)
				plainText = "0" + plainText;
			hexString.append(plainText);
		}
		return hexString.toString();
	}
}

 

很久没写博,上来溜溜,我是firstep

本文转载自:http://hi.baidu.com/alvin4u/blog/item/d2c5ad1b2c7d8938dd5401a5.html

 

分享到:
评论

相关推荐

    58同城Android客户端Walle框架演进与实践之路

    标题:“58同城Android客户端Walle框架演进与实践之路” 说明了58同城在Android客户端开发过程中,所采用的Walle框架的演变以及在实际业务中的应用实践。赵路平作为作者,他在GMTC全球移动技术大会上的演讲,深入...

    藏经阁-58同城Android客户端Walle框架演进与实践之路.pdf

    藏经阁-58同城Android客户端Walle框架演进与实践之路 本文档主要介绍了58同城Android客户端的Walle框架的演进和实践经验。该框架的演进历程从纯Native到Hybrid模式的发展,最后形成了Walle框架。该框架的主要特点是...

    藏经阁-58同城Android客户端框架演进与实践.pdf

    "藏经阁-58同城Android客户端框架演进与实践" 本文档主要介绍了58同城Android客户端框架的演进和实践经验,涵盖了框架演进历程、组件化实践、保障平台与规划等方面的内容。 框架演进历程 框架演进历程可以分为四...

    58同城电话号码解密算法(关于58的解密私信问题一律不回复)

    某8同cheng的电话号码解密算法,从so库自己翻译过来的,去JNI,已经转成可直接调用的java代码,方便调用。该网站有两种号码,1是加密的号码,2是虚拟号码。这个demo是解密加密的号码。不是从虚拟号拿到真实号码

    58同城App接口数据电话解密(个人研究学习用)

    58同城App接口数据电话解密,控制台程序,AES,个人学习研究用

    豆瓣同城android客户端

    《豆瓣同城Android客户端详解》 豆瓣同城Android客户端是一款专为Android用户设计的,集活动、小组、市集等多元化功能于一体的社交应用。它充分利用了Android平台的优势,将豆瓣网的同城服务进行了深度优化,旨在为...

    58同城手机号码识别程序-针对升级后的手机号码识别

    标题中的“58同城手机号码识别程序”是一个专门用于在58同城网站上解析和提取手机号码的软件。58同城作为一个大型分类信息网站,用户经常会在发布的信息中包含自己的联系方式,尤其是手机号码,以便其他用户能直接...

    豆瓣同城活动android手机客户端的设计过程

    豆瓣同城活动Android手机客户端的设计过程,是一次深入探讨移动应用如何优化用户体验,适应移动环境,以及如何在资源有限的情况下做出合理决策的过程。该设计过程主要围绕产品定位、使用情景分析、功能移植考量、...

    高仿58同城,美团,赶集网切换城市

    在Android应用开发中,模拟58同城、美团和赶集网的城市切换功能是一项常见的需求,尤其是在构建本地服务类的应用时。这个功能的核心在于提供用户友好的界面和高效的地理位置处理。以下将详细介绍实现这一功能的关键...

    [内部保密]58同城Android岗位面试题

    58同城内部Android面试真题,面试官会从中提取相应的题考验面试者,从最简单再到最难: 平台技术 线程与进程 线程能不能停掉,interrupt ! 1.5线程池 Exector !! 核心线程数(cpu*2+1 5) 最大线程数 空闲时间 等待...

    Android 高仿58同城 表格展开效果 源码

    在Android开发中,有时我们需要创建类似58同城那样的交互式界面,其中包含了可展开的表格效果。本项目“Android 高仿58同城 表格展开效果 源码”正是针对这一需求提供的一种解决方案。它利用了Android的TableLayout...

    58同城电话号码识别程序(针对11月29日升级)_C#版

    58同城电话号码识别程序(针对11月29日升级) C#版exe文件 源码(项目文件)下载请到http://download.csdn.net/detail/luochaolun/4817642 VS2005开发,运行需.net framework 2 58同城电话生成方式每两天一变,本程序...

    58同城电话号码识别程序(针对11月23日升级)

    58同城电话号码识别程序(针对11月23日升级) VS2005开发,运行需.net framework 2 58同城电话生成方式每两天一变,本程序在11.23-11.24有效。 已识别的图片电话列表见 http://www.371zf.net/import/picList.php ...

    58同城通讯录采集系统 电话 手机

    【58同城通讯录采集系统】是一款专门针对58同城平台设计的数据采集工具,它能够高效地抓取并整理58同城网站上的商家信息,包括电话号码和手机联系方式。这款系统具备以下几个关键特点: 1. **精准定位**:系统能够...

    58同城电话号码识别程序(针对10月10日升级)

    "58同城电话号码识别程序(针对10月10日升级)"是一个专门针对58同城平台设计的软件,其主要目标是有效地识别和提取该平台上发布的手机号码信息。 该程序的核心功能在于其高准确率的识别机制。描述中提到,在10月10...

    58同城商业推广方案之撇开虚拟号码见真实

    那么有朋友问到58如何看到真实号码?关于这个问题,大家分享经验,希望能够帮助到大家。 容我多说几句, 口述比较差, 听不懂的地方就直接看视频操作吧。 这个方法应该通用。批量高效,你值得拥有!如果还有疑问 ...

    Android 模仿58同城下拉刷新的效果

    在这个场景中,我们将讨论如何在Android应用中模仿58同城的下拉刷新效果,这涉及到自定义View的知识。 首先,58同城的下拉刷新效果通常包括一个可动画化的指示器,比如旋转的箭头或刷新条,以及一些提示文字,如...

    android 58同城

    在Android平台上,58同城是一款深受用户喜爱的生活服务类应用,它集成了众多实用功能,如房屋租售、二手物品交易、招聘求职、家政服务等。作为一个专业的IT行业大师,我们将深入探讨这款应用在技术层面所涉及的知识...

Global site tag (gtag.js) - Google Analytics