大型公司里面如何防止程序员接触到核心代码?
像BAT这类公司,假如我是刚刚入职的程序员,现在公司要我做一个专题模块,做好了要集成测试,这个专题模块要用户登录才能用,那么必须include这个Passport模块,而这个模块的源代码里面肯定有一些加密算法,私钥等等信息,不能让我们这些小程序员看到里面的代码,那么具体怎么做测试呢?他们如何保证核心业务代码的安全?
回复内容:
像BAT这类公司,假如我是刚刚入职的程序员,现在公司要我做一个专题模块,做好了要集成测试,这个专题模块要用户登录才能用,那么必须include这个Passport模块,而这个模块的源代码里面肯定有一些加密算法,私钥等等信息,不能让我们这些小程序员看到里面的代码,那么具体怎么做测试呢?他们如何保证核心业务代码的安全?
大公司一般都把passport做成服务了。你只能看到接口,不能看到实现~
给你个封装好的dll和头文件就可以
dll已经去掉符号表了 你也看不到源码
有头文件+dll(或导出的静态文件lib)可以编译了 你哪里还看得到源码
不知道为啥被踩了下
现在的程序员已经分不出来编译和外部服务如RPC调用了吗
分不出来的话 当我白说
BAT里据我所知 T/B的核心代码大部分都是C++的,因为实时性更好,A家的主力是Java。
用C++做核心有几个好处和必不可少的场景
1) 游戏,图形图像的渲染,想象一个游戏玩的过程中卡了50ms,频繁的丢帧是多么苦逼的一个事
2) 实时调用,想象做导航的过程中,车速100公里结果服务器端GC了,数据延迟100ms再发送多么痛苦一个事吧。
会C++的话,你就知道我说的是啥意思了。
内核大部分是C++写的,无他,知识产权保护的好,想想自己做了一个没有JNI的Android App,分分钟被对手逆向的事吧。
加密算法也一样,远程调用和服务只使用非准实时的情况,对数据敏感的肯定是带着头文件和库一起编译的
大公司并不怕程序员接触到核心代码,你所认为的一些核心代码,在公司保密级别里面,可能密级并不高。他们更注重的,是系列化的管理规范。
1、稍大一点的公司,都会有一整套规范的权限控制管理,你什么级别,能下什么代码,能连什么库,都有相应的规定。
2、保密协议之类的都会让你签吧?防火防盗防商业间谍,协议只是一部分,真正的机密在企业发展部(类似部门)手里。
3、具体到开发里你说的模块,如果是 C++系的,跟楼上无辜被踩的同学说的一样,给你 dll 或者lib 你自己拿去编译着玩就行了。Java的话,会把这些模块封装成服务,再或者搭建成 Saas 或者是 Paas,你自己去调就行了,一般中大型的公司都会搭着这类的开发平台。
建议看一下RPC,大型公司肯定会剥离各个模块,模块间使用RPC调用,调用时不用关心其他模块的内部逻辑,也看不到其他模块的代码。
我厂是通用组件由专门负责组件的部门提供,给你的是已经编译好的库,你访问不到库的代码。
要是你发现库有bug或者疑似有bug自己是没法追踪的,拉个群和有关部门撕逼去吧。
百度、阿里、腾讯之类的大公司用 Git 吗?他们如何管理源代码?
https://www.zhihu.com/question/22438484
如何看待为了防止代码泄漏而限制员工上网? 公司IT如何管理和架构才能防止代码外泄?
https://www.zhihu.com/question/19983270
很有参考意义

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Java leicht gemacht: Ein Leitfaden für Anfänger zur leistungsstarken Programmierung Java ist eine leistungsstarke Programmiersprache, die in allen Bereichen von mobilen Anwendungen bis hin zu Systemen auf Unternehmensebene verwendet wird. Für Anfänger ist die Syntax von Java einfach und leicht zu verstehen, was es zu einer idealen Wahl zum Erlernen des Programmierens macht. Grundlegende Syntax Java verwendet ein klassenbasiertes objektorientiertes Programmierparadigma. Klassen sind Vorlagen, die zusammengehörige Daten und Verhaltensweisen organisieren. Hier ist ein einfaches Java-Klassenbeispiel: publicclassPerson{privateStringname;privateintage;

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4
