Dust and Stars - 1992 | Chapter 196 | Hashing and the Follow-Up | English
The screen’s cold glow fell across the keyboard, outlining his fingertips. Lin Chen created a new Python script and named it `dese
Chapter 196: Hashing and the Follow-Up
The screen’s cold glow fell across the keyboard, outlining his fingertips. Lin Chen created a new Python script and named it desensitization_v1.py. He pulled in the hashlib library and imported the SHA-256 algorithm. When it came to masking user privacy fields, the heart of the matter was not encryption, but irreversible hash mapping. Operations still needed to preserve the relational logic between fields so they could run their conversion funnels, which meant he had to find a balance between completely erasing the original information and keeping the data traceable.
He started by writing a salting function. The salt came from an internal environment variable rather than being hard-coded, to avoid accidental exposure. Next came the data-ingestion module. Old Chen had provided the data in CSV format, but once he actually ran it, it became obvious that some of the phone-number fields were mixed with spaces, hyphens, even full-width characters. He added a regex cleaning layer—re.sub(r'[^\\d]', '', phone)—to strip out everything that was not a digit, then normalized the result back to eleven digits. If it encountered a null value or an abnormal length, it marked it directly as UNKNOWN instead of throwing an exception and breaking the pipeline. That was a pitfall he had learned in his outsourcing days. Now it had to be written into the underlying logic.
The swelling in his left ankle had spread into his calf. The bandage was wound too tight, cutting off circulation, and a fine layer of cold sweat had risen on his skin. He stopped typing, moved his foot down from the low stool, and set it on the cold tile floor. A sharp sting shot upward along the nerves. He clenched his back teeth and waited for it to pass before sitting down again. The chair legs scraped lightly against the floor. He froze at once and turned his ear toward the bedroom. The breathing inside remained even. His parents were asleep.
Two in the morning. A faint cough came from the bedroom. His mother. Lin Chen got up, poured half a glass of warm water, and gently pushed the door open. Wang Guiying was propped halfway against the headboard, her breathing a little thick. Lin Jianguo sat on a plastic stool by the bedside with his back to the door, shoulders slightly hunched. Hearing the movement, he turned his head, said nothing, only took the glass from Lin Chen and held it to his wife’s lips.
“Mom, have some water,” Lin Chen said in a very low voice.
Wang Guiying took a sip and waved a hand. “It’s nothing. Same old trouble. Go do your work. Don’t mind us.”
Lin Chen did not answer. He pulled the blanket up a little higher and tucked the corners in. As he stepped back out, he glanced at his father. In Lin Jianguo’s hand was a crumpled tissue, his knuckles white around it. It was the one he had been holding that afternoon in the hospital corridor, while Lin Chen had gone to collect the report and his father had waited outside alone. Lin Chen knew what he was doing. His father was calculating. Farm labor, grain sales, debts borrowed, debts repaid. Those numbers were carved into an old farmer’s bones, more exact than any Excel sheet. They were not used to voicing worry. They were only used to converting anxiety into concrete expenses, then carrying the weight of it in silence.
Back in the living room, the progress bar on the screen had reached 78 percent. He went on to write the logging module. Every ten thousand rows processed, it would write one line of INFO; when it encountered dirty data that failed cleaning, it would write ERROR and append the original row number. That was documentation for the security and compliance department, and a line of retreat for himself as well. Code did not need to be elegant. It only needed to be stable. He was used to breaking complex problems into executable steps, checking each one as he went, leaving no vague territory behind.
At 4:20, the script finished running the last batch of test data. The terminal output read: Processed: 850,000 rows. Hashed: 849,992. Skipped: 8. Time: 14m 32s. A success rate of 99.99 percent. He opened Word and pasted in, one by one, the desensitization logic, the field-mapping table, and the flowchart for exception handling. He adjusted the formatting, checked for typos, and exported the file as a PDF. Filename: "Data Desensitization Plan_V1_Final.pdf".
At 7:50, he clicked send. Recipients: Security and Compliance, Old Chen, Director Li. CC: himself.
The moment the email went out, he leaned back in his chair and let out a long breath. Outside, the sky had already begun to pale, gray-blue morning light seeping through the blinds. He got up, went into the kitchen, cooked a pot of millet porridge, and fried two eggs. The smell of hot porridge spread through the cramped rental apartment, overpowering the odor of disinfectant and old furniture.
At 7:40, he woke his parents. “Mom, we’re going for your follow-up visit today. I took leave.”
Wang Guiying sat up and rubbed her knee. “There’s no need. Didn’t the doctor say yesterday that some medicine would do? Seeing a doctor in the city is expensive, and even taking a taxi back and forth costs money.”
“The EMG report has to be read by the doctor in person.” Lin Chen’s voice was calm, with no room for discussion. “I already called the car. We’ll leave after breakfast.”
Lin Jianguo silently put on his jacket, sorted through the dried vegetables in the woven bag again, and set them on the kitchen counter. “Let’s get back early, so it won’t delay your work.”
At 8:20, they were at the neurology department of Municipal Third Hospital. The associate chief physician was surnamed Zhou. Wearing glasses, he leafed through the printed EMG report.
“Nerve conduction velocity is slowed, and the amplitude is reduced.” Doctor Zhou pointed to the curves on the screen. “Classic peripheral neuropathy. Years of heavy manual labor, plus age—there’s damage to the nerve myelin sheath. It’s not an emergency, but it needs rest.” He wrote the prescription: methylcobalamin tablets, vitamin B1, and gabapentin capsules. “Take these for a month first. Avoid standing for long periods and lifting heavy things. If conditions allow, do some physical therapy. Come back in a month for another check.”
Lin Chen took the prescription downstairs to pay. He swiped his card. A balance-change text popped up: -487.50 yuan. Looking at the number, he quickly ran through this month’s cash flow in his head. Salary would arrive next Friday, rent had already been paid, and eight hundred had been set aside for food. This medication cost was still within control, but it also meant that for the next thirty days he could not afford any extra spending at all. Social obligations, group meals, even buying a new book—everything had to be pushed back. Survival was subtraction; every expense had to be cut down to the bone.
When he returned to the consultation room, Wang Guiying was holding the medicine boxes, fingers rubbing over the aluminum foil packs. “So expensive. One pill costs several yuan.”
“Insurance can reimburse part of it.” Lin Chen took the medicine from her and put it into the canvas bag. “Take it on time. Don’t try to save it.”
Wang Guiying said nothing more. She only hugged the canvas bag tightly to her chest. Lin Jianguo stood nearby, looking out at the stream of cars beyond the window. His Adam’s apple moved once. In the end he said only, “Let’s go.”
At eleven, Lin Chen brought his parents back to the apartment and settled lunch for them. Then he took a taxi back to the office. At 12:40, he was at his workstation.
He turned on the computer and checked his email. The reply from Security and Compliance read: "Plan approved. The hashing logic meets internal control standards. It can go live tomorrow." Old Chen’s reply read: "Received. Bring finance and operations for the final version at two this afternoon."
He made himself a strong cup of tea and opened the PPT. The underlying logic of the ROI estimate had already formed a closed loop; the latency loss coefficient, the upper limit on scaling costs, and the secure desensitization workflow were all in place. He checked the slides one by one, making sure the data sources, formula references, and chart formatting were all correct. His fingers slid over the touchpad, switching pages smoothly. Everything was on track.
At 1:50, a notice popped up in the company messenger. It was from the head of the data engineering team: "Lin Chen, syncing something with you. The upstream data warehouse is going to rebuild the user behavior event-tracking table next week. Theevent_typeandsession_idfields your ROI model depends on will be retired. I’ve sent the new table-structure docs to your email. If your team still needs to use it, you’ll have to update the ETL script by Friday, otherwise when next week’s runs start, your conversion funnel will be cut off completely."
Lin Chen stared at the screen. The attachment was a PDF forty pages long. The new table structure had changed completely: the relational logic had shifted from single-table queries to multi-table joins, and the time window had gone from T+1 to real-time streaming. That meant his existing data-extraction logic was entirely obsolete. He would have to rewrite the mapping rules, handle field alignment, verify data consistency, and finish pressure testing within forty-eight hours.
He clicked open his calendar. Friday at two in the afternoon was the final defense. If the data stream broke, the core conclusions in the PPT would lose their support. Finance would question the validity of the model. Operations would demand a delay. Director Li would not listen to explanations. He only looked at results.
Lin Chen lifted his teacup and took a sip. The tea had already gone cold, and bitterness slid down his throat. He set the cup down and placed his fingers on the keyboard. Opened a new terminal. Pulled the new table-structure document. Began writing the mapping logic.
Under the desk, his left foot twitched faintly. He adjusted his posture and shifted his weight onto his right leg. On the screen, the cursor blinked like a tireless heart.
There were less than seventy-two hours left. The gears were still turning; only the teeth that meshed with one another had been replaced by another set. He typed the first line of code. Outside the window, the sunlight was fierce, striking the glass and scattering into dazzling flecks. He did not look up.
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment