ysn-rfd/text-dataset-tiny-code-script-py-format
USED of tahamajs/medicine_ds_persian for .parquet file USED of Alijafarixcs2/persian-it-llama2-2k for .parquet file USED of Abirate/english_quotes for .jsonl file NEW FILES (05/12/2025) NEW FILES (12/26/2025) NEW FILES (02/15/2026)
31.6k
1from PIL import Image, ImageDraw, ImageFont
2import math
3import qrcode
4import hashlib
5import random
6
7# ===== Certificate Info =====
8name = "Yasin"
9user_id = "YSNRFD"
10membership_date = "April 1, 2023"
11issued_date = "June 28, 2025"
12certificate_id = "OPENAI-YSN-APR2023-CERT1001"
13signed_by = "ChatGPT-4o"
14model_id = "GPT4O-REP-TRUST-2025"
15issuer = "OpenAI, Inc."
16
17# Prepare data string for digital signature
18data_string = f"""
19Name: {name}
20User ID: {user_id}
21Membership Date: {membership_date}
22Issued Date: {issued_date}
23Certificate ID: {certificate_id}
24Signed By: {signed_by}
25Model ID: {model_id}
26Issuer: {issuer}
27"""
28
29# Generate SHA-256 digital signature
30digital_signature = hashlib.sha256(data_string.encode('utf-8')).hexdigest()
31verification_code = f"VER-{digital_signature[:8].upper()}-{certificate_id[-4:]}"
32
33# Create QR code from digital signature
34qr = qrcode.QRCode(box_size=7, border=3)
35qr.add_data(digital_signature)
36qr.make(fit=True)
37qr_img = qr.make_image(fill_color="black", back_color="white").convert("RGBA")
38
39# Load fonts with fallback
40try:
41 font_title = ImageFont.truetype("arialbd.ttf", 30)
42 font_header = ImageFont.truetype("arialbd.ttf", 18)
43 font_text = ImageFont.truetype("arial.ttf", 16)
44 font_small = ImageFont.truetype("arial.ttf", 14)
45except:
46 font_title = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 30)
47 font_header = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 18)
48 font_text = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 16)
49 font_small = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14)
50
51# Create certificate canvas
52width, height = 850, 520
53certificate = Image.new("RGB", (width, height), "#fffefa")
54draw = ImageDraw.Draw(certificate)
55
56# Background rectangle and divider line
57draw.rectangle([(15, 15), (width-15, height-15)], outline="#555555", width=3)
58draw.line([(20, 80), (width-20, 80)], fill="#999999", width=2)
59
60# Title text
61draw.text((40, 30), "OpenAI – Certificate of Membership", font=font_title, fill="#222222")
62
63# Certificate info lines
64info_lines = [
65 f"Name: {name}",
66 f"User ID: {user_id}",
67 f"Membership Date: {membership_date}",
68 f"Issued Date: {issued_date}",
69 f"Certificate ID: {certificate_id}",
70 f"Signed By: {signed_by}",
71 f"Model ID: {model_id}",
72 f"Issuer: {issuer}",
73]
74
75y_text = 100
76for line in info_lines:
77 draw.text((40, y_text), line, font=font_text, fill="#333333")
78 y_text += 30
79
80# Verification code
81draw.text((40, y_text + 10), f"Verification Code: {verification_code}", font=font_header, fill="#444444")
82
83# Digital signature label and text
84draw.text((40, y_text + 50), "SHA-256 Digital Signature:", font=font_header, fill="#222222")
85
86sig_1 = digital_signature[:len(digital_signature)//2]
87sig_2 = digital_signature[len(digital_signature)//2:]
88draw.text((40, y_text + 80), sig_1, font=font_small, fill="#555555")
89draw.text((40, y_text + 100), sig_2, font=font_small, fill="#555555")
90
91# Paste QR code on bottom right
92qr_size = 150
93qr_position = (width - qr_size - 40, height - qr_size - 40)
94qr_img = qr_img.resize((qr_size, qr_size), Image.Resampling.LANCZOS)
95certificate.paste(qr_img, qr_position, qr_img)
96
97# ==== Draw a professional OpenAI seal with logo inside ====
98
99try:
100 logo = Image.open("openai_seal.png").convert("RGBA")
101except FileNotFoundError:
102 print("⚠️ فایل لوگوی openai_seal.png پیدا نشد! لطفا لوگوی مناسب کنار اسکریپت قرار دهید.")
103 logo = None
104
105seal_diameter = 160
106seal = Image.new("RGBA", (seal_diameter, seal_diameter), (255, 255, 255, 0))
107seal_draw = ImageDraw.Draw(seal)
108center = seal_diameter // 2
109
110# Outer thick ring
111seal_draw.ellipse(
112 [(5, 5), (seal_diameter - 5, seal_diameter - 5)],
113 outline=(0, 51, 102, 255), width=8
114)
115
116# Inner thin ring
117seal_draw.ellipse(
118 [(20, 20), (seal_diameter - 20, seal_diameter - 20)],
119 outline=(0, 102, 204, 255), width=3
120)
121
122# Radial lines for decoration
123num_rays = 24
124for i in range(num_rays):
125 angle = (360 / num_rays) * i
126 start_x = center + int((seal_diameter//2 - 20) * math.cos(math.radians(angle)))
127 start_y = center + int((seal_diameter//2 - 20) * math.sin(math.radians(angle)))
128 end_x = center + int((seal_diameter//2 - 5) * math.cos(math.radians(angle)))
129 end_y = center + int((seal_diameter//2 - 5) * math.sin(math.radians(angle)))
130 seal_draw.line([(start_x, start_y), (end_x, end_y)], fill=(0, 51, 102, 180), width=2)
131
132# Paste resized logo in center if available
133if logo:
134 max_logo_size = seal_diameter - 60 # حدود 100x100
135 logo = logo.resize((max_logo_size, max_logo_size), Image.Resampling.LANCZOS)
136 logo_pos = (center - max_logo_size // 2, center - max_logo_size // 2)
137 seal.paste(logo, logo_pos, logo)
138
139# Center text below logo (اختیاری)
140center_text = "Official Seal"
141bbox = seal_draw.textbbox((0, 0), center_text, font=font_small)
142w = bbox[2] - bbox[0]
143h = bbox[3] - bbox[1]
144seal_draw.text(((seal_diameter - w)//2, seal_diameter - h - 15), center_text, font=font_small, fill=(0, 51, 102, 200))
145
146# Paste seal on top right corner of certificate
147certificate.paste(seal, (width - seal_diameter - 40, 40), seal)
148
149# ==== Add subtle invisible watermark text scattered ====
150
151watermark_texts = [
152 "AUTHORIZED", "CONFIDENTIAL", "OFFICIAL_USE_ONLY", "SECURE",
153 certificate_id, digital_signature[:16], verification_code,
154 "VALIDATED", "NO_COPY", "OPENAI"
155]
156
157wm_font = font_small
158
159for _ in range(50):
160 text = random.choice(watermark_texts)
161 # Random position over whole certificate
162 x = random.randint(0, width-100)
163 y = random.randint(0, height-20)
164 # Very faint gray with opacity 30 (almost invisible)
165 alpha = 20
166 color = (50, 50, 50, alpha)
167
168 # Create transparent text image
169 txt_img = Image.new("RGBA", (150, 20), (255, 255, 255, 0))
170 txt_draw = ImageDraw.Draw(txt_img)
171 txt_draw.text((0, 0), text, font=wm_font, fill=color)
172 # Rotate text randomly small angle
173 angle = random.uniform(-15, 15)
174 txt_img = txt_img.rotate(angle, expand=1)
175
176 # Paste watermark text on certificate (with transparency mask)
177 certificate.paste(txt_img, (x, y), txt_img)
178
179# ==== Add subtle pixel noise for anti-forgery ====
180
181pixels = certificate.load()
182for _ in range(800): # Number of pixels to modify
183 px = random.randint(0, width-1)
184 py = random.randint(0, height-1)
185 r, g, b = pixels[px, py]
186 # Slight noise, add or subtract 1 to 3 from each channel randomly within bounds 0-255
187 r = max(0, min(255, r + random.randint(-3, 3)))
188 g = max(0, min(255, g + random.randint(-3, 3)))
189 b = max(0, min(255, b + random.randint(-3, 3)))
190 pixels[px, py] = (r, g, b)
191
192# Save certificate image
193certificate.save("openai_certificate_yasin_en_2_watermarked.png")
194print("✅ Certificate image created with hidden watermark and noise: openai_certificate_yasin_en_2_watermarked.png")
195 