由于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框架的演变以及在实际业务中的应用实践。赵路平作为作者,他在GMTC全球移动技术大会上的演讲,深入...
藏经阁-58同城Android客户端Walle框架演进与实践之路 本文档主要介绍了58同城Android客户端的Walle框架的演进和实践经验。该框架的演进历程从纯Native到Hybrid模式的发展,最后形成了Walle框架。该框架的主要特点是...
"藏经阁-58同城Android客户端框架演进与实践" 本文档主要介绍了58同城Android客户端框架的演进和实践经验,涵盖了框架演进历程、组件化实践、保障平台与规划等方面的内容。 框架演进历程 框架演进历程可以分为四...
某8同cheng的电话号码解密算法,从so库自己翻译过来的,去JNI,已经转成可直接调用的java代码,方便调用。该网站有两种号码,1是加密的号码,2是虚拟号码。这个demo是解密加密的号码。不是从虚拟号拿到真实号码
58同城App接口数据电话解密,控制台程序,AES,个人学习研究用
《豆瓣同城Android客户端详解》 豆瓣同城Android客户端是一款专为Android用户设计的,集活动、小组、市集等多元化功能于一体的社交应用。它充分利用了Android平台的优势,将豆瓣网的同城服务进行了深度优化,旨在为...
标题中的“58同城手机号码识别程序”是一个专门用于在58同城网站上解析和提取手机号码的软件。58同城作为一个大型分类信息网站,用户经常会在发布的信息中包含自己的联系方式,尤其是手机号码,以便其他用户能直接...
豆瓣同城活动Android手机客户端的设计过程,是一次深入探讨移动应用如何优化用户体验,适应移动环境,以及如何在资源有限的情况下做出合理决策的过程。该设计过程主要围绕产品定位、使用情景分析、功能移植考量、...
在Android应用开发中,模拟58同城、美团和赶集网的城市切换功能是一项常见的需求,尤其是在构建本地服务类的应用时。这个功能的核心在于提供用户友好的界面和高效的地理位置处理。以下将详细介绍实现这一功能的关键...
58同城内部Android面试真题,面试官会从中提取相应的题考验面试者,从最简单再到最难: 平台技术 线程与进程 线程能不能停掉,interrupt ! 1.5线程池 Exector !! 核心线程数(cpu*2+1 5) 最大线程数 空闲时间 等待...
在Android开发中,有时我们需要创建类似58同城那样的交互式界面,其中包含了可展开的表格效果。本项目“Android 高仿58同城 表格展开效果 源码”正是针对这一需求提供的一种解决方案。它利用了Android的TableLayout...
58同城电话号码识别程序(针对11月29日升级) C#版exe文件 源码(项目文件)下载请到http://download.csdn.net/detail/luochaolun/4817642 VS2005开发,运行需.net framework 2 58同城电话生成方式每两天一变,本程序...
58同城电话号码识别程序(针对11月23日升级) VS2005开发,运行需.net framework 2 58同城电话生成方式每两天一变,本程序在11.23-11.24有效。 已识别的图片电话列表见 http://www.371zf.net/import/picList.php ...
【58同城通讯录采集系统】是一款专门针对58同城平台设计的数据采集工具,它能够高效地抓取并整理58同城网站上的商家信息,包括电话号码和手机联系方式。这款系统具备以下几个关键特点: 1. **精准定位**:系统能够...
"58同城电话号码识别程序(针对10月10日升级)"是一个专门针对58同城平台设计的软件,其主要目标是有效地识别和提取该平台上发布的手机号码信息。 该程序的核心功能在于其高准确率的识别机制。描述中提到,在10月10...
那么有朋友问到58如何看到真实号码?关于这个问题,大家分享经验,希望能够帮助到大家。 容我多说几句, 口述比较差, 听不懂的地方就直接看视频操作吧。 这个方法应该通用。批量高效,你值得拥有!如果还有疑问 ...
在这个场景中,我们将讨论如何在Android应用中模仿58同城的下拉刷新效果,这涉及到自定义View的知识。 首先,58同城的下拉刷新效果通常包括一个可动画化的指示器,比如旋转的箭头或刷新条,以及一些提示文字,如...
在Android平台上,58同城是一款深受用户喜爱的生活服务类应用,它集成了众多实用功能,如房屋租售、二手物品交易、招聘求职、家政服务等。作为一个专业的IT行业大师,我们将深入探讨这款应用在技术层面所涉及的知识...